【发布时间】:2011-07-13 18:33:42
【问题描述】:
我需要创建一个具有单个永久选项卡(“主页”)的控件,并且所有其他选项卡都是可滚动的。
现在我试图通过继承 TabControl 来实现这个结果,向覆盖的模板添加一个额外的按钮(看起来像一个选项卡),并在单击按钮时将 SelectedIndex 设置为 -1。当SelectedIndex 为-1 时,触发器会导致TabControl 的ContentControl 绑定到特殊的“主页”选项卡的内容。基本上,我在伪造真实选项卡的行为,并在此过程中覆盖取消选择所有选项卡的能力。
这似乎可行,除了两个问题:
- 选择示例选项卡#3,然后选择主页。然后,尝试再次选择选项卡#3。 Tab #3 没有响应。
- 选择标签 #3,然后选择主页。然后,尝试使用恰好在同一个窗口中的菜单。当我去使用菜单时,#3 再次作为选定选项卡弹出。
此时我已尝试侦听与 TabControl 相关的各种事件,但它们似乎都没有为我提供可以解决这些行为的东西。
有什么东西可以让我覆盖默认的SelectedIndex 行为吗?我应该以另一种方式这样做吗?理想情况下,我想要某种方式来接收一组选项卡,这样我就可以在视觉上拆分选项卡,而不会丢失 TabControl 的基本功能。
【问题讨论】:
标签: c# wpf tabcontrol