我正在为商店开发 WPF 应用程序。
所以我有一个MainWindow,其余的都是Child。
哪个是用作子窗口的最佳选择。
- 窗户
- 用户控制
窗口将是正常的,它将位于 MainWindow 的顶部,如果它的 UserControl 它将位于 MainWindow 的 Canvas 中。
所以任何人都可以建议我在这两个中最好使用哪个。
我建议为您的子窗口使用 UserControls。这使您可以在主窗口上设置所有“父”控件,并且子窗口不会覆盖它们。
作为进一步的建议,我建议研究 Caliburn Micro。这是处理 WPF 窗口和用户控件的一个很好的框架。
要将子 UserControl 添加到父窗口,我通常只需将 ContentControl 添加到我的主窗体,如下所示:
<ContentControl x:Name="ViewWindow" Margin="10" />
只需将您的孩子分配给该控件,您就可以了。
我建议使用像 AvalonDock 这样的 MDI 框架:http://avalondock.codeplex.com/你 会节省很多时间。
就像生活和编码中的许多事情一样:这取决于:)
窗户
用户控制
这些是我想到的一些设计决策……
当您决定使用父子窗口交互时,子窗口将非常适合桌面应用程序,尽管我个人建议您在主窗口中使用框架并使用它来承载多个页面。
要了解有关 WPF 和 silverlight 中导航的更多信息,您可以访问此链接
使用这种方法将帮助您获得以下优势:
我还认为在构建这个软件时你还可以考虑很多东西,但最终你仍然是应该决定这个问题的人。
这只是我的建议,希望对您有所帮助:)。
考虑检查MDIContainer。与WPF 的 MDI类似的项目,但它为您提供更多自由,因为它不会强制您实现 MDIChild 窗口、界面或任何东西。