WPF TabControl位置标签位于右上角

时间:2010-02-03 14:22:43

标签: c# wpf xaml tabcontrol direction

我有一个WPF TabControl,我希望使用TabStripPlacement Top来定位标签,但我希望它们以正确的方向显示在顶部。我通过FlowDirection RightToLeft轻松实现了这一目标;但是,我不希望子控件继承RightToLeft FlowDirection

有没有办法在不使用FlowDirection属性的情况下将标签放在右上方?

3 个答案:

答案 0 :(得分:5)

这个问题已经很久了,但是当谷歌搜索时,它就出现了。答案并非我想要的。所以我在Expresion Blend中研究了这个。我确定TabPanel需要Horizo​​ntalAlignment =" 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>