Wpf MVVM指示灯:将UserControl加载到窗口中

Wpf MVVM指示灯:将UserControl加载到窗口中,wpf,window,user-controls,mvvm-light,Wpf,Window,User Controls,Mvvm Light,使用MVVM Light将UserControl加载到窗口中的最佳实践是什么? 如果您担心最佳实践,您的虚拟机不应该包含任何特定于用户界面的代码,比如控件。例如,如果VM中有一个属性控制视图中控件的可见性,则该属性的类型应为bool,而不是visibility。视图将使用bool属性隐藏或显示控件 因此,您有一个视图(像一个窗口)可以根据VM进行数据绑定。VM中的某些属性更改将导致窗口中的某些代码创建并显示用户控件 如果您担心最佳实践,您的VM不应该包含任何特定于UI的代码,如控件。例如,如果V

使用MVVM Light将UserControl加载到窗口中的最佳实践是什么?
如果您担心最佳实践,您的虚拟机不应该包含任何特定于用户界面的代码,比如控件。例如,如果VM中有一个属性控制视图中控件的可见性,则该属性的类型应为bool,而不是visibility。视图将使用bool属性隐藏或显示控件


因此,您有一个视图(像一个窗口)可以根据VM进行数据绑定。VM中的某些属性更改将导致窗口中的某些代码创建并显示用户控件

如果您担心最佳实践,您的VM不应该包含任何特定于UI的代码,如控件。例如,如果VM中有一个属性控制视图中控件的可见性,则该属性的类型应为bool,而不是visibility。视图将使用bool属性隐藏或显示控件


因此,您有一个视图(像一个窗口)可以根据VM进行数据绑定。VM中的某些属性更改将导致窗口中的某些代码创建并显示用户控件

如果您能展示一个使用mvvm light的示例,我将非常高兴。 我还有一个问题,就是希望主窗口中的“子窗口”(用户控件)在主窗口中单击按钮时显示/隐藏。。
那么,我是否应该在同一个位置创建它们,比如说网格列,然后通过属性绑定显示/隐藏它们?

如果您能展示一个使用mvvm light的示例,我将非常高兴。 我还有一个问题,就是希望主窗口中的“子窗口”(用户控件)在主窗口中单击按钮时显示/隐藏。。 那么,我应该在同一个位置创建它们吗?比如说网格列,然后通过属性绑定显示/隐藏它们?

我刚刚读到关于使用MVVM(Light)创建选项卡式界面的内容。它没有谈到用户控件,但目标非常接近。它很容易修改以支持用户控件

方法是将选项卡控件绑定到可观察的工作空间集合(ViewModels)。添加新选项卡(或工作区)时,它将在ViewModel中实例化,添加到集合中,数据绑定到视图中,并在DataTemplates的帮助下呈现为新选项卡。

我刚刚了解了如何使用MVVM(Light)创建选项卡式界面。它没有谈到用户控件,但目标非常接近。它很容易修改以支持用户控件


方法是将选项卡控件绑定到可观察的工作空间集合(ViewModels)。添加新选项卡(或工作区)时,它将在ViewModel中实例化,添加到集合中,数据绑定到视图中,并在DataTemplates的帮助下呈现为新选项卡。

能否更具体一点?VM绝对不应该创建UserControl。通常,控件是通过数据模板注入的,或者直接包含在窗口XAML中。您能更具体一点吗?VM绝对不应该创建UserControl。通常,控件通过数据模板注入或直接包含在窗口XAML中。我认为这应该重新编写并作为一个新问题提出,但由于它是从2010年开始的,2年半后的否决票将令人恼火。我认为这应该重新编写并作为一个新问题提出,但由于这是从2010年开始的,2年半后的否决票将令人恼火。