如何根据我的选择更改TabControl的默认控件模板

时间:2010-11-23 13:15:32

标签: c# wpf custom-controls controltemplate

我正在尝试开发一个Customize TabControl,我将整个TabControl分成三个部分:

1)标签页眉 2)公共区域(适用于所有选项卡)和 3)特定选项卡的选项卡内容区域 更新:  alt text

如果您有最佳答案或样品,请提供任何类型的帮助。

先谢谢

2 个答案:

答案 0 :(得分:1)

嗯......我不太明白为什么会这样做,但如果我是你,我会用WPF来实现。

我将Tab键标题实现为填充了按钮的StackPanel(它们的样式显然需要重做,以便它看起来像标签)。内容将是一个包含网格的矩形,其内容在单击按钮时发生更改。对于基本的场景来说,这几乎就是它。我不明白你的公共区域。同样好的是在每个标签内添加一点“X”以便关闭它。这也可以通过按钮完成。

使用Expression Blend创建这样的控件可能是有意义的。

祝福, 基督教

答案 1 :(得分:1)

您可以将TabControl模板覆盖为您想要的任何内容,包括使其具有一个静态区域,无论选择哪个选项卡,该区域都保持可见。

在模板中,我通常使用带有IsItemsHost=True的面板来定义选项卡控件的“Tab”部分的显示位置,以及<ContentPresenter ContentSource="SelectedContent" />我希望显示所选选项卡内容的位置。

还可以覆盖TabControl.ItemTemplate以进一步定义选项卡,并且可以覆盖TabControl.ItemContainer以仅修改TabControl的TabContent部分。