WPF:一个窗口,多个视图

7

曾经我问过如何在Windows窗体应用程序中显示多个视图(链接)。现在我想知道如何在WPF应用程序中实现同样的功能。


这个是用VB.NET写的,而这个是用C#写的! - BoltClock
这应该不会有任何影响,对吧?(因为WPF是在XAML中设计用户界面的技术,并且它适用于所有.Net语言) 如果需要编写代码,我也可以使用VB .Net代码。然后我会将代码转换为C#。 - wullxz
不应该影响程序;这只是我注意到的有趣的事情 :) - BoltClock
是的,我正在尝试学习C#,因为不久之后我会需要它 ;) - wullxz
3个回答

2

你可以在MainWindow.xaml中只使用一个StackPanel,没有其他内容。你可以在其他的xaml文件中定义所有的视图。只需将父元素设置为Grid/StackPanel而不是Window即可。当你想要加载一个新的视图时,只需要将相应视图的根元素(或视图本身)设置为MainWindow.xaml中StackPanel的Children。


2
你能给我一个例子,如何在我的代码中更改显示的视图吗? - wullxz

1
你最好使用MVVM框架,如Caliburn.Micro,它可以非常容易地完成视图组合。在这种情况下,你可以有一个外壳屏幕作为指挥者,每个子屏幕只是其他视图模型,而你的外壳将引用每个子屏幕,并在需要显示时使其成为活动项目。

0

我建议你去使用MVVM框架。我认为你需要一个MainTabControl,它将有子控件。子控件不需要是Windows,而是UserControls。你可以在wpf中使用DataTemplates根据ViewModel选择视图。

如果你需要更多解释,请告诉我。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接