WPF标签边距
我有一个WPF TabControl,带有一些TabItems。 如果有意义的话,我想在TabItems组的左边和右边留有边距。
我将在下面画一些ASCII艺术来表达观点。 我想要在第一个标签左边的固定边距,但我也想在第三个标签右边有一个固定边距。
|--------------------------------------------------|
| |-----||-----||-----| |
| <-Margin-> | 1 || 2 || 3 | <-Margin-> |
|------------| ||-----||-----|-----------------|
| |
| How do I get margin or padding on both |
| sides of my tabs? |
| |
| |
|--------------------------------------------------|
选项卡的数量是无限的,所以它们会随着更多的添加而堆叠。 它需要为此正确工作。
另外,请注意,我不想让整个选项卡控制变得更小。 只是tabitem选项卡或标题或任何他们是。
我发现如果我将选项卡设置为“60,0,-60,0”之类的边距,我会在选项卡左侧获得理想的效果,但这看起来像是黑客,并且不起作用为右手边。
我在VS 2010中使用WPF 4.0。
干杯!
尝试使用这种风格。
<Style TargetType="{x:Type TabControl}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TabControl}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<TabPanel
Grid.Row="0"
Panel.ZIndex="1"
Margin="60,0,60,-1"
IsItemsHost="True"
Background="Transparent" />
<Border
Grid.Row="1"
BorderBrush="Black"
BorderThickness="1"
CornerRadius="0, 12, 12, 12" >
<Border.Background>
<LinearGradientBrush>
<GradientStop Color="LightBlue" Offset="0" />
<GradientStop Color="White" Offset="1" />
</LinearGradientBrush>
</Border.Background>
<ContentPresenter ContentSource="SelectedContent" />
</Border>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
编辑
您可以将边距直接提供给tabcontrol的controltemplate内的tabpanel
查看更多链接
http://www.switchonthecode.com/tutorials/the-wpf-tab-control-inside-and-out
链接地址: http://www.djcxy.com/p/51653.html上一篇: WPF Tab Margins
下一篇: Cleanly uninstall Rspec and use vanilla Unit::Test in Rails 3.x