C# 使用用户控件而不是windows

C# 使用用户控件而不是windows,c#,wpf,vb.net,C#,Wpf,Vb.net,我不确定这是否是一种构建应用程序的糟糕方法,但假设我的应用程序中有30个WPF窗口用于不同的屏幕。我想将它们构建到一个DLL中,所以我想知道,如果我可以有一个窗口来承载任何打开的屏幕,而不是将每个窗口创建为一个窗口,这是否是一个糟糕的设计。所以windows实际上是一个用户控件,或者至少是一个类似的控件。 因此,当您想要转到另一个屏幕时,只需将1窗口的内容更改为您想要显示的“usercontrol”的内容。这有意义吗,或者你能看到这样做的问题吗?谢谢。这可能是一个很好的方法,但你需要考虑是否每个

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

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


您可能需要研究设计模式,例如and(WPF更流行)。

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

您可能需要阅读一些关于表示模式的内容,以便更好地理解如何管理具有多个屏幕的应用程序。看看这本优秀(但不完整)的维基,它基于杰里米·米勒(Jeremy Miller)的一本书,作者是伟大的马丁·福勒(Martin Fowler)


通读每种模式的摘要,了解其是否适用于您的情况,以及是否确实适用于您的情况。wiki中的许多模式都是最近才发展起来的,迄今为止,它们最好的资源是不同的博客条目和晦涩难懂的邮件列表。但这是值得挖掘的,因为在这个竞技场上可以找到一些真正有灵感的信息宝库。演示模式是一件非常有趣的事情

从你告诉我的情况来看,我认为也许页面比控件更适合你使用。在这种情况下,您可以在主窗口中使用框架控件来支持页面之间的导航(或隐藏导航按钮并直接从代码中导航)。

这就是多文档界面(MDI)。您还可以为WPF使用选项卡式MDI,这在当今更为流行。看,是的,我也在想这个,但我只是尽可能简单地解释,让大家明白我的观点