Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WPF:一个窗口,多个视图_C#_Wpf - Fatal编程技术网

C# WPF:一个窗口,多个视图

C# WPF:一个窗口,多个视图,c#,wpf,C#,Wpf,有一次我问如何在windows窗体应用程序()的一个窗口中显示多个视图。 现在,我想知道如何在WPF应用程序中执行相同的操作。您最好的选择是使用MVVM框架,例如,它使视图合成非常容易。在这种情况下,您可以使用外壳屏幕(例如,它将是一个导体),每个子屏幕将只是其他视图模型,外壳将对其进行引用,并且在需要显示时,每个子屏幕都将成为活动项。我建议您转到。我认为您需要一个MainTabControl,它将具有子控件。子控件不需要是Windows,而需要是UserControls。您可以使用wpf中的D

有一次我问如何在windows窗体应用程序()的一个窗口中显示多个视图。
现在,我想知道如何在WPF应用程序中执行相同的操作。

您最好的选择是使用MVVM框架,例如,它使视图合成非常容易。在这种情况下,您可以使用外壳屏幕(例如,它将是一个导体),每个子屏幕将只是其他视图模型,外壳将对其进行引用,并且在需要显示时,每个子屏幕都将成为活动项。

我建议您转到。我认为您需要一个MainTabControl,它将具有子控件。子控件不需要是Windows,而需要是UserControls。您可以使用wpf中的DataTemplates根据viewmodel选择视图


如果您需要更多的解释,请务必告诉我。

您可以在MainWindow.xaml中找到,只需一个Stackpanel。没有别的了。 您可以在其他xaml文件中定义所有视图。只是父元素不是窗口。您需要将其作为网格/堆栈面板。
当您想加载一个新视图时,只需将相应视图的根元素(或视图本身)设置为MainWindow.xaml中StackPanel的子元素,该元素在VB.NET中,而该元素在C#中!那应该没什么区别吧?(因为WPF是用XAML设计用户界面的技术,它适用于所有.Net语言)如果有什么东西需要编码,我也会对VB.Net代码感到满意。我会把代码转换成C#那么,它不应该;这只是我注意到的一件有趣的事情:)是的,我正试图进入C,因为我需要它一会儿;)你能给我一个例子如何改变我的代码中显示的视图吗?