WPF - 当TabItem的visibility属性为hidden时,其内容仍然可见

7

1
如果您发布XAML代码,那将会非常有帮助。 - Florian Gl
2个回答

8

要解决此问题,请使用 Visibility.Collapsed。Visibility.Hidden 不会更改布局,因此您将始终在选项卡标题中具有空白空间。当发生这种情况时,请确保同时更改所选选项卡。

不过,我不建议像那样隐藏选项卡。从概念上讲,它们要么是打开的,要么是关闭的。


6
今早我遇到了同样的问题。我搜索了大约一个小时来找出解决方案,因为在WinForms中设置可见性为false只需要2秒钟。Collapsed并不会移除内容,对我来说仍然显示。我不得不将<TabControl SelectedIndex="2">设置为指向我的第三个选项卡,否则第一个选项卡仍然会显示。 - Franck
2
可见性问题仅适用于第一个TabItem。将其放在另一个位置,然后折叠将正常工作。有趣但却是事实。 - Andrea Antonangeli
Andrea Antonangeli:不,我的问题出现在非第一个上面。 :) - IngoB

0
尝试通过将TabControl的可见性设置为Visibility.Hidden来隐藏它,或者切换到另一个选项卡(可能是空的选项卡)?你没有给出太多隐藏原因,但如果你真的想隐藏TabControl中的所有控件,你也可以遍历tabItem.Children并将它们的可见性设置为Visibility.Hidden。

这个方法可能可行,但是它并不符合逻辑,因为我必须为每个选项卡保留一个TabControl。如果我们需要创建10个选项卡,那么我们就必须创建10个TabControl... - aioracle
为什么你不能创建一个额外的(空的)TabItem并切换到那个选项卡?我已经编辑了我的答案。 - Akku
嗯...+ve可以这样做。只是在思考是否有其他方法,因为我有大约10个屏幕需要修复。 - aioracle
TabItemдё­жІҰжњ‰SetVisibilityOfAllChildren(Visibility v)ж–№жі•пәЊе¦‚жһњдҢ жѓізџӨйЃ“зљ„иҮқ;-) - Akku

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接