C# 从MainViewModel调用或发送值到其他ViewModels mvvm mvvm light
我们正在使用mvvm light框架构建我们的应用程序。在ViewModel文件夹中,根据应用程序的不同功能,我们有许多ViewModel文件,如orderSupplyViewModel、HouseholdSupplyViewModel等。通过将MainViewModel设置为分部类,我们已将所有这些ViewModel包含在MainViewModel中。所以你可以说我们有一个主视图模型。现在我们已经完成了40%的应用程序,我们需要将视图模型作为一个部分类进行分离。因此,我们可以从mainviewModel调用不同的ViewModel。怎么办?以下是与名为-OrderSuppliesViewModel的视图模型相关的代码C# 从MainViewModel调用或发送值到其他ViewModels mvvm mvvm light,c#,wpf,mvvm,mvvm-light,C#,Wpf,Mvvm,Mvvm Light,我们正在使用mvvm light框架构建我们的应用程序。在ViewModel文件夹中,根据应用程序的不同功能,我们有许多ViewModel文件,如orderSupplyViewModel、HouseholdSupplyViewModel等。通过将MainViewModel设置为分部类,我们已将所有这些ViewModel包含在MainViewModel中。所以你可以说我们有一个主视图模型。现在我们已经完成了40%的应用程序,我们需要将视图模型作为一个部分类进行分离。因此,我们可以从mainview
namespace ParentalHealthClient.ViewModel
{
/// <summary>
/// This class contains properties that a View can data bind to.
/// <para>
/// </summary>
public partial class MainViewModel : ViewModelBase
{
private List<UserMedicalSupplyBO> _selectedFavouriteMedicalItems;
private List<HouseholdItemsBO> _selectedFavouriteHouseHoldItems;
private List<OrderSuppliesBO> _selectedOrderItems;
private HouseholdSuppliesDAO _dataAccessForOrder;
/// <summary>
/// Initializes a new instance of the OrderSuppliesViewModel class.
/// </summary>
public void OrderSuppliesViewModel()
{
}
MVVM Light toolkit提供了messenger类,以解耦的方式进行通信。 它还可以启动对话框并提供回调。非常方便,非常轻,非常有用
此处介绍了Messenger:您不应该有一堆MainViewModel部分定义。您应该为每种类型的ViewModel创建单独的ViewModel类
在Visual Studio的解决方案资源管理器中,右键单击[ViewModel]文件夹->添加->新建项…->Mvvm灯光视图模型。这将添加一个继承ViewModelBase的新ViewModel类。谢谢。但是我们需要分离不同的viewmodel,因为它们都是一个viewmodel,即使用分部类的MainViewModel。好心的建议?我不太明白。为什么不使用或ViewModelBase类并继承公共行为。那你就不需要分部类了?或者你的意思是不同的。。。