【发布时间】:2010-11-22 07:01:00
【问题描述】:
我有一个基本上如下所示的 WPF 表单:
<Window ...>
<Grid>
<DockPanel>
[content shown during normal operation]
</DockPanel>
<Grid Background="#CCCC" Visibility="Hidden">
[overlay grid which is only shown during special circumstances]
</Grid>
</Grid>
</Window>
覆盖网格隐藏其他所有内容(即“正常内容”),仅在特殊情况下(即网络连接中断)显示。这在运行程序时非常有效。
现在,在设计模式中,问题在于 Visual Studio 忽略了Visibility="Hidden"。通常,这很有意义(毕竟,我希望能够编辑隐藏的 UI 元素),但就我而言,这很烦人,因为它阻止我在设计器中编辑 DockPanel 中的内容。
所以,我想做的是这样的:
<Grid Background="#CCCC" Visibility="Hidden" VS.ShowInDesigner="False">
[overlay grid which is only shown during special circumstances]
</Grid>
但是,唉,没有这样的财产,或者至少我知道没有。有什么想法吗?
【问题讨论】:
-
我正在以不同的方式提出一个解决方案,因为我试图弄清楚 TabControl 是如何实现这一点的。使用 TabControl,您可以设置要选择的特定选项卡,但在设计器中,如果您将光标放在其中一个选项卡的代码中或设计器中的实际选项卡上,它将忽略这一点,而是显示设计时选定的选项卡.我认为 Popup 控件应该以相同的方式工作,并且我正在研究类似于 Silverlight ChildWindow 控件的东西,它将给我这种类型的设计时行为。