2011-12-13 700 views
2

我有一个tabcontrol,我想把一些tabitem标题对齐到左边,其他人对齐到右边。如在此模拟截图:如何让一些标签左对齐,其他标签右对齐? (TabControl在wpf)

http://img269.imageshack.us/img269/8894/tabcontrol.png

我已经试过不已:

  • 样式:

align wpf tabcontrol strip

:我可以用这个右对齐的TabItem但我一直无法找到混合左右对齐的选项卡项目的方法。

  • 使用两个的TabControls:我有两个重叠的TabControls,一个左对齐选项卡,其他与右对齐的标签。困难在于让他们切换。当用户单击标签标题时(即使Ishitvisible = true),单击或MouseDown不会始终激活。 SelectionChanged不起作用,因为如果用户以前在TabControl 2中选择了选项卡'D',则转到Tab'A'并返回到'D' - TabControl 2不知道选择已更改。

在这一点上,我的想法。

+0

`当用户单击标签标题时,Click或MouseDown不会始终激发 - 相反会发生什么? `SelectionChanged ...`应该发生什么?请举例说明正在发生的行为和目标行为。 – 2011-12-13 18:13:28

+0

“标题”不会​​触发MouseDown事件。你可以把一个TextBlock作为标题内容,但它比整个标题小,所以有时它会捕获点击,有时它不会。 – Sugrue 2011-12-14 10:10:23

回答

2

您可以尝试覆盖TabPanel的模板,但如果这样做不起作用,则必须覆盖TabControl.Template。默认控件模板可以发现here

编辑

只是测试,并TabPanel没有可以覆盖一个模板,所以你最好的选择将覆盖TabControl.Template使用自己的面板托管的TabItems。

0

感谢“Andrew Hanlon”,您可以使用Blend编辑TabControl模板。

  • 更换TabPanelDockPanel
  • 然后加入HorizontalAlignment="Right"

它适用于我。