现在,我有一个看起来像这样的WPF窗口:
我希望它看起来像这样(Photoshop doctored image):
这是否可以在不完全重做ControlTemplate
?
我尝试弄乱HorizontalAlignment
,HorizontalContentAlignment
等等,但我尝试过没有任何效果。
修改
如果我尝试这个解决方案(由T Levesque提供)......
<TabControl...>
<TabControl.ItemContainerStyle>
<Style TargetType="{x:Type TabItem}">
<Setter Property="HorizontalAlignment" Value="Left"/>
</Style>
</TabControl.ItemContainerStyle>
...
</TabControl>
......我明白了:
哪个很接近,但最终看起来有点像直方图。
编辑2:
为了记录,我最终结合R. Copsey和T. Levesque的答案来达到这个目的:
<TabControl
Margin="0,5,0,0"
HorizontalContentAlignment="Left"
TabStripPlacement="Left">
<TabControl.ItemContainerStyle>
<Style
TargetType="TabItem">
<Setter
Property="HorizontalAlignment"
Value="Stretch" />
<Setter
Property="HorizontalContentAlignment"
Value="Stretch" />
</Style>
</TabControl.ItemContainerStyle>
<TabItem
Header="Perform System Administration">
...
<TabItem
Header="Perform Setup Tasks">
...
答案 0 :(得分:13)
以下内容将为您提供所需的外观。
<TabControl TabStripPlacement="Left" HorizontalContentAlignment="Left" >
<TabItem HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch" Header="Header 1">
<TabItem.Content>Test</TabItem.Content>
</TabItem>
<TabItem HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch" Header="Header 2" >
<TabItem.Content>Test</TabItem.Content>
</TabItem>
<TabItem HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch" Header="Header Longer Version">
<TabItem.Content>Test</TabItem.Content>
</TabItem>
</TabControl>
答案 1 :(得分:4)
您对TabItem.Header属性使用什么类型的控件?如果您只是使用Label,您是否将Label的宽度指定为某个常用值?如果Label正在调整内容大小,那么它将显示为您显示的内容。对于用于显示标题文本的标签,请尝试以下常用宽度:
<TabControl TabStripPlacement="Left" >
<TabItem>
<TabItem.Header>
<Label Width="100">test tab 1</Label>
</TabItem.Header>
<TabItem.Content>
xyz
</TabItem.Content>
</TabItem>
<TabItem>
<TabItem.Header>
<Label Width="100">test t2</Label>
</TabItem.Header>
<TabItem.Content>
abc
</TabItem.Content>
</TabItem>
<TabItem>
<TabItem.Header>
<Label Width="100">test tab three</Label>
</TabItem.Header>
<TabItem.Content>
abc
</TabItem.Content>
</TabItem>
</TabControl>
答案 2 :(得分:3)
您可以为所有标签页定义水平对齐方式:
<TabControl...>
<TabControl.ItemContainerStyle>
<Style TargetType="{x:Type TabItem}">
<Setter Property="HorizontalAlignment" Value="Left"/>
</Style>
</TabControl.ItemContainerStyle>
...
</TabControl>
答案 3 :(得分:1)