【问题标题】:WPF - TabItem Contents still visible when tabitem.visibility=hiddenWPF - 当 tabitem.visibility=hidden 时 TabItem 内容仍然可见
【发布时间】:2012-10-08 15:07:27
【问题描述】:

这个问题有什么好的解决办法吗?

我已经设置了

tabitem.visibility=隐藏

但是这个 tabitem 中的内容仍然可见。我想隐藏 tabitems 的所有内容。

我确实搜索了解决方案,但没有运气。 2009 年有人提出了这个问题,但现在仍然没有关于如何实现这一点的结果。网址:http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/e4d23ace-0eb5-45a9-86f5-43c6351cb0ed/

谢谢

【问题讨论】:

  • 如果您发布 xaml 代码可能会有所帮助。

标签: c# .net wpf


【解决方案1】:

要解决您的问题,请使用 Visibility.Collapsed。 Visibility.Hidden 不会更改布局,因此您将始终在选项卡标题中保留该空白区域。发生这种情况时,请务必更改所选选项卡。

我不建议隐藏这样的标签项。从概念上讲,它们要么是开放的,要么是封闭的。

【讨论】:

  • 今天早上遇到了同样的问题。一直在寻找大约一个小时来解决这个问题,因为在 winforms 中设置可见性 = false 需要 2 秒。 Collapsed 不会删除内容。仍然为我展示。我必须设置<TabControl SelectedIndex="2"> 指向我的第三个标签。否则第一个标签仍然显示。
  • 可见性问题仅针对第一个 TabItem。将其放在另一个位置,然后折叠将正常工作。有趣,但真实。
  • Andrea Antonangeli:不,我的问题在于不是第一个。 :)
【解决方案2】:

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

【讨论】:

  • 这可以工作,但这没有逻辑意义,因为我必须为每个 TabItems 保留 TabControl。如果我们必须创建 10 个 Tabs,那么我们必须创建 10 个 TabControls...
  • 为什么你不能做一个额外的(空的)tabitem并切换到那个?编辑了我的答案。
  • 嗯... +ve 可以做到。只是在想是否还有其他方法,因为我有大约 10 个屏幕并且需要修复所有这些。
  • 如果你想知道的话,TabItem 中没有 SetVisibilityOfAllChildren(Visibility v) 方法 ;-)
猜你喜欢
  • 2017-08-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-07
  • 2010-12-08
  • 1970-01-01
  • 2011-04-04
  • 1970-01-01
相关资源
最近更新 更多