浏览主窗口中包含的多个子视图
我正在开发一个WPF MVVM应用程序,我需要一个只有一个徽标的主窗口,它必须在其中显示子视图。 我在主窗口中没有任何控件,所有控件都驻留在子视图中,例如按钮,如Next,Back,Cancel和一些文本块等。现在如果用户在子视图上选择Next按钮,我必须绘制或加载下一个主窗口内的子视图。 如果单击“后退”按钮,则必须返回上一个子视图。 所以基本上我根据点击的按钮更改子视图。 此外,我正在为每个子视图维护不同的视图模型。 现在的问题是我无法想象如何将子视图链接到各自的视图模型。 这个应用程序类似于一些安装应用程序,根据选择和用户点击的按钮显示不同的对话框。我是这个wpf的新手,不想使用MVVM Light,Prism等。任何详细的帮助都会很大赞赏。 提前致谢。
将任何数据类型与XAML控件相关联的最简单方法之一是使用DataTemplate
。 因此,您可以简单地将类似的内容添加到Application.Resources
,只要您不在DataTemplate
上设置x:Key
属性,只要它遇到视图模型的实例,它们就会被框架显式应用。 :
...
然后显示视图就像这样简单:
在后面的代码或您的视图模型中:
YourViewModelProperty = new MainViewModel();
为视图模型创建基类通常很方便,然后您可以使用相同的属性和ContentControl
来交换它们的YourViewModelProperty
。
更新>>>
一般的想法是你有一个MainViewModel
类,其中一个BaseViewModel
属性数据绑定到MainWindow.xaml
一个ContentControl
……导航控件也应该在MainWindow.xaml
而不是在视图中。 这样, MainViewModel
类负责在从MainWindow.xaml
接收导航Command
时将属性更改为相关的视图模型实例。
上述就是C#学习教程:浏览主窗口中包含的多个子视图分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/998080.html