如何有条件地隐藏TabControl的TabPanel部分?

时间:2017-07-25 19:21:37

标签: c# wpf tabcontrol tabpanel

我发现了这个问题的很多变化,但对话似乎总是围绕着个人TabItems,而不是TabPanel本身就是一件事。

我的主窗口上有一个TabControl。选项卡是视图。其中一个视图是特殊的...导航显示,而所有其他视图都是导航视图可以打开的“部分”。

我想要完成的是,当用户正在查看导航视图时,标签全部消失。即隐藏整个TabPanel,而不是必须逐个隐藏每个TabItem。在查看任何其他页面时,选项卡会显示,以便在视图之间轻松移动。

我根据my other question上的建议创建了此问题。

我遇到的问题是TabPanel似乎没有Template我可以覆盖,以便执行DataTrigger绑定到Visibility的操作属性。我得到的最接近的是一个普通的Style.Setter

关于如何获得我所追求的任何建议?

1 个答案:

答案 0 :(得分:2)

您基本上自己提供了答案 - 正确的组合是将StyleDataTrigger一起使用。诀窍是定义一个Style TargetType设置为{x:Type TabPanel},并将其作为TabControl的资源 - 这样风格将应用于{{ 1}}(因为它是隐式样式)。这是一个例子:

TabPanel

在此示例中,在选择第一个项目时,面板将折叠。