使用usercontrols而不是windows

时间:2011-03-24 20:56:29

标签: c# wpf vb.net

我不确定这是否是构建应用程序的一种不好的方法,但是假设我的应用程序中有不同屏幕的30个WPF Windows。我想将它们构建成一个DLL,所以我想知道它是不是设计不好而不是创建每个窗口作为一个窗口,如果我可以有一个窗口托管任何屏幕打开。所以windows实际上是一个用户控件,或者至少就像一个用户控件。 因此,当您想要转到另一个屏幕时,您只需将1窗口的内容更改为您想要显示的“usercontrol”的内容。这是否有意义,或者您是否可以看到可能这样做的问题?感谢。

3 个答案:

答案 0 :(得分:1)

这可能是一个很好的方法,但您需要考虑每个屏幕是否属于同一个窗口。例如,每个用户控件将使用窗口中的所有空间,还是会有一些视觉问题?您的窗口内容,数据以及窗口操作数据的方式也可能会产生影响。

您可能需要查看MVCMVVM等设计模式(WPF更受欢迎)。

答案 1 :(得分:1)

这听起来像是一个比30个独立窗口更好的解决方案:)没有错。

您可能希望阅读有关演示模式的内容,以便更好地了解如何使用多个屏幕管理应用程序。根据杰里米·米勒(Jeremy Miller)制作的一本关于伟大的马丁福勒(Martin Fowler)的贡献的书,在Presentation Patterns上看一下这个优秀(但不完整)的维基。

阅读每个模式的摘要,以了解它是否适​​用于您的情况,以及是否尝试使用Google搜索。该wiki中的许多模式最近都在发展,迄今为止最好的资源是不同的博客条目和模糊的邮件列表。但值得进行挖掘,因为在这个领域中可以找到一些真正受到启发的信息宝石。演示模式是一件非常有趣的事情!

答案 2 :(得分:1)

根据你的说法,我在想,也许Pages比你的控件好。在这种情况下,您可以在主窗口中使用Frame控件来支持页面之间的导航(或隐藏导航按钮并直接从代码导航)。