【发布时间】:2010-08-04 12:29:48
【问题描述】:
我正在使用 TabControl 以编程方式显示或隐藏表单控件组。我已经实现了here 中描述的技术,它大致可以按预期工作,除了在标签页眉通常显示的位置有一个大约 1 或 2 像素高的带。
我已经通过使用Snoop 来导航可视化树并观察选择每个元素时突出显示矩形的移动来验证这一点。选项卡内容元素的矩形大小略小于包含 TabControl 的大小,这是我看到的额外像素的原因。可能影响这一点的元素都没有边距、边框或填充。
为了实现与其他控件的正确对齐,我需要消除这个额外的空间,但我不确定如何。但是,也许我应该问的问题是“有没有更好的方法来选择性地显示/隐藏控件组?”。
感谢您的想法, 蒂姆
【问题讨论】:
-
在需要隐藏的时候把后面代码中的tabcontrol完全去掉可以接受吗?
-
TabControl 永远不会完全隐藏。它的一个选项卡始终可见,具体取决于应用程序需要显示的控件组,因此我不认为删除选项卡控件是一种选择。另一方面,用某种通用面板控件替换每个选项卡是可以接受的,但我不确定哪个控件适合这个。
-
抱歉,我点击了您发布的链接,我以为您想完全删除标签页眉。实际上,如果你想显示/隐藏控件组,你可以使用网格并切换它们的可见性(至少当我需要不同的布局时我在项目中所做的取决于所选的记录类型)
标签: wpf tabcontrol styling