从另一个 ViewModel 访问 属性

Access Property From Another ViewModel

问题


我希望能够检查来自另一个视图模型的 属性,看看它是否有值,如果它确实做了一些事情,反之亦然

代码


所以在 View 模型 AOnDemandMainViewModel 是 class 名称)我有一个 属性包含时间轴内的所有项目:

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

然后在视图模型 BWizardViewModel 是 class 名称)我希望能够 运行 一个 if 语句来检查 属性 是否有任何项目:

if (//CHECK FOR ITEMS)
{

}

我如何才能查看 属性 是否有任何物品?

您可以这样做(假设 OnDemandMain 是您的 view1,OnDemandMainViewModel 是您的 viewmodel1:

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