我有一个像这样的ViewModel:
public class TaskTrayViewModel<T> : ViewModelBase where T : IBlotterRow, new()
{ }
此ViewModel包含一个属性:
private Product sp;
public Product selectedProduct
{
get { return sp; }
set
{
sp = value;
}
}
我想在BlotterCriteriaViewModel(其他viewModel)中访问此属性(值)。所有视图模型都实现了InotiFyPropertyChange。我已经阅读了一些相关的问题,但没有得到任何东西。我没有使用框架(prism,galasoft)?
如何在这里传递属性(值)?请建议&gt;
答案 0 :(得分:1)
好的,至少有两种方式。
BlotterCriteriaViewModel
的实例获取对TaskTrayViewModel
实例的引用(在构造时,或者可能在需要值的位置)。拥有TaskTrayViewModel
引用,可以轻松访问公共属性。BlotterCriteriaViewModel
的实例从INotifyPropertyChange
获取TaskTrayViewModel
引用并订阅PropertyChanged
事件。您将无法获得该属性的初始值,但只要该属性发生更改,您就会获得该事件并可以在事件args中看到新值。其中任何一个都有问题吗?