从另一个 ViewModel 访问 属性
Access Property From Another ViewModel
问题
我希望能够检查来自另一个视图模型的 属性,看看它是否有值,如果它确实做了一些事情,反之亦然。
代码
所以在 View 模型 A(OnDemandMainViewModel 是 class 名称)我有一个 属性包含时间轴内的所有项目:
public ObservableCollection<ITimeLineDataItem> Timeline2Items
{
get { return _timeline2Items; }
set
{
_timeline2Items = value;
OnPropertyChanged("Timeline2Items");
}
}
private ObservableCollection<ITimeLineDataItem> _timeline2Items;
然后在视图模型 B(WizardViewModel 是 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();
问题
我希望能够检查来自另一个视图模型的 属性,看看它是否有值,如果它确实做了一些事情,反之亦然。
代码
所以在 View 模型 A(OnDemandMainViewModel 是 class 名称)我有一个 属性包含时间轴内的所有项目:
public ObservableCollection<ITimeLineDataItem> Timeline2Items
{
get { return _timeline2Items; }
set
{
_timeline2Items = value;
OnPropertyChanged("Timeline2Items");
}
}
private ObservableCollection<ITimeLineDataItem> _timeline2Items;
然后在视图模型 B(WizardViewModel 是 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();