我们正在使用mvvm light框架来构建我们的应用程序。在我们的ViewModel文件夹中,根据应用程序的不同功能,我们有许多Viewmodel,如orderSupplyViewModel,HouseholdSupplyViewModel等文件。我们通过将MainViewModel作为部分类将所有这些viewModel包含在MainViewModel中。所以你可以说我们有一个MainViewModel。现在我们已经完成了40%的应用程序,我们需要将视图模型分离为一个部分类。这样我们就可以从mainviewModel调用不同的viewmodel。怎么去呢?以下是一个名为 - OrderSuppliesViewModel
的视图模型的代码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()
{
}
答案 0 :(得分:0)
以分离的方式进行通信MVVM Light工具包提供了messenger类。 它还可以启动对话框并提供回调。非常方便非常轻便非常有用。
此处描述了Messenger:http://www.galasoft.ch/mvvm/getstarted/
答案 1 :(得分:0)
您不应该有一堆MainViewModel部分定义。您应该为每种类型的ViewModel创建单个 ViewModel类。
在Visual Studio,Solution Explorer,&lt; Your Project&gt;中,右键单击[ViewModel]文件夹 - &gt;添加 - &gt;新物品...... - &gt; Mvvm Light ViewModel。这应该添加一个继承ViewModelBase的新ViewModel类。