用c#/ wpf编写一个相当简单的应用程序。
打开第二个窗口时,会短暂闪烁或闪烁。
大量的Google搜索表明,这是由屏幕重新绘制引起的,因此我对此无能为力。
(我没有包含任何代码,因为看来这个问题是众所周知的,并且大多数人都“学会与之共处”)
因此,我想,为什么不将所有XAML放在一个文件中,而每个页面都放在自己的网格中,我可以使用visible.visible或visible.collapsed等隐藏/显示。
效果很好(除了非常小的延迟-不到1/2秒-第一次显示第二个窗口网格),但我对将所有代码包含在单个页面中的想法感到不满意。(对于它的价值,我被告知编译器无论如何都将其视为一个文件,但是...)
有没有一种方法可以为每个“窗口”(实际上是XAML网格)功能创建单独的“代码隐藏文件”,同时将它们都链接到同一Xaml文件?
(输入此命令后,我感到很恐怖,答案很明显,我应该已经知道了……)
谢谢
如果我对您的理解正确,则只需要为每个“窗口网格”创建一个新的“控制类代码背后”对。这是在VS中通过单击“解决方案资源管理器”中的“添加-创建元素-用户控件”(名称UserControl1.xaml
,将其重命名为YourControl.xaml
)完成的(我想您已经知道所有这些,但以防万一)。
现在,如果对控件的类型没有特殊要求,可以按原样使用它:
<MainWindow>
<Grid>
<YourControlNumberOne />
<YourControlNumberTwo />
<YourControlNumberThree />
<Grid/>
</MainWindow>
如果你特别需要Grid
为基础的控制,只是改变了基类YourControl
来Grid
,并在相关的XAML文件,以改变顶层XAML元素Grid
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句