我正在为一家商店开发WPF应用程序。
因此,我有一个MainWindow窗口,其余部分将作为子窗口。
那么,什么是最好的用作子窗口的选项?
- 窗口(Window)
- 用户控件(UserControl)
如果使用窗口,则它将是普通的,它将位于MainWindow窗口的顶部。如果使用用户控件,则它将位于MainWindow窗口的画布上。
所以,有人能建议我在这两个选项中选择哪一个吗?
我建议您使用UserControls来创建子窗口,这样你可以在主窗口上设置所有“父级”控件并且孩子窗口不会覆盖它们。
另一些建议是,您可以考虑使用Caliburn Micro框架。这是一个处理WPF窗口和用户控件的优秀框架。
要将子UserControl添加到父窗口中,我通常只需像这样将ContentControl添加到我的主窗体中:
<ContentControl x:Name="ViewWindow" Margin="10" />
只需将您的子控件分配给该控件,您就没问题了。
我建议使用像AvalonDock这样的MDI框架:http://avalondock.codeplex.com/
这将节省您大量时间。
像生活中的许多事情和编码一样,这取决于情况 :)
窗口
用户控件
这些是一些设计决策...
当您决定使用父子窗口交互时,子窗口对于桌面应用程序将非常有用,尽管我个人建议您在主窗口中使用框架并将其用于托管多个页面。
要了解有关WPF和Silverlight中导航的更多信息,请访问this link
使用此方法将帮助您实现以下优点:
我还认为,在构建此软件时,您还可以考虑很多东西,但归根结底,您仍然是应该决定这个问题的人。
这只是我的建议,希望这有所帮助 :)。