从另一个ViewModel访问属性

时间:2016-02-25 09:20:16

标签: c# wpf mvvm viewmodel

问题

我希望能够检查另一个View Model中的属性,看它是否有值,如果它确实有效,反之亦然

代码

所以在视图模型A OnDemandMainViewModel是类名)中,我有一个属性,它包含时间轴中的所有项目:

public ObservableCollection<ITimeLineDataItem> Timeline2Items
 {
   get { return _timeline2Items; }
    set
    {
        _timeline2Items = value;
         OnPropertyChanged("Timeline2Items");
    }
}
private ObservableCollection<ITimeLineDataItem> _timeline2Items;

然后在查看模型B WizardViewModel是类名)中我希望能够运行if语句来检查该属性是否包含任何项:

if (//CHECK FOR ITEMS)
{

}

我如何检查该物业是否有任何物品?

1 个答案:

答案 0 :(得分:1)

你可以这样做(假设OnDemandMain是你的view1和OnDemandMainViewModel你的viewmodel1:

OnDemandMain win=Application.Current.Windows.OfType<OnDemandMain>().FirstOrDefault();
OnDemandMainViewModel vm=(OnDemandMainViewModel)win.DataContext;
vm.Timeline2Items.Count();