我有一个WPF TabControl
,我希望使用TabStripPlacement
Top
来定位标签,但我希望它们以正确的方向显示在顶部。我通过FlowDirection
RightToLeft
轻松实现了这一目标;但是,我不希望子控件继承RightToLeft
FlowDirection
。
有没有办法在不使用FlowDirection
属性的情况下将标签放在右上方?
答案 0 :(得分:5)
这个问题已经很久了,但是当谷歌搜索时,它就出现了。答案并非我想要的。所以我在Expresion Blend中研究了这个。我确定TabPanel需要HorizontalAlignment =" Right"样式。因此,对于未来,它就像这样容易:
<TabControl>
<TabControl.Resources>
<Style TargetType="TabPanel">
<Setter Property="HorizontalAlignment" Value="Right"/>
</Style>
</TabControl.Resources>
<TabControl.Items>
<TabItem Header="Tab 1"></TabItem>
<TabItem Header="Tab 2"></TabItem>
<TabItem Header="Tab 3"></TabItem>
</TabControl.Items>
</TabControl>
如果您发现此问题,请与我们联系。
答案 1 :(得分:4)
我不确定这一点,您可以随时尝试为TabControl
创建自定义样式,以指定标签的布局方式。或者,只需使用FlowDirection
并在每个FlowDirection
上将LeftToRight
指定为TabItem
,以便子控件正常显示。
答案 2 :(得分:0)
类似于Rhyous solution,但具有固定标签排列
<TabControl>
<TabControl.Resources>
<Style TargetType="TabPanel">
<Setter Property="FlowDirection" Value="RightToLeft"/>
</Style>
</TabControl.Resources>
<TabControl.Items>
<TabItem Header="Tab 1"></TabItem>
<TabItem Header="Tab 2"></TabItem>
<TabItem Header="Tab 3"></TabItem>
</TabControl.Items>
</TabControl>