我正在使用MEF容器将我的viewmodel注入我的视图,如下所示:
[ImportingConstructor]
public MainView(IRepository repository, MainViewModel viewModel)
{
InitializeComponent();
mMainViewModel = viewModel;
DataContext = viewModel;
viewModel.PropertyChanged += OnViewModelPropertyChanged;
}
一切正常。我在view和viewmodel上都有export属性。
问题是当某个方法在ViewModel上更新值\属性时,它不会反映在UI上。我甚至试图将模式设置为两种方式 - 仍然无法正常工作。我OnPropertyChanged
要求所有的财产制定者,但没有工作。但是,在视图背后的代码中,如果我将一个propertychanged
事件方法附加到viewmodel,我会收到事件通知,这是我能够使用他们更新视图的唯一方法。这不应该是必要的。我只是不知道为什么我的观点没有直接响应绑定元素上的propertychanged
通知。
我可能做错了什么?
答案 0 :(得分:0)
发现了这个问题。事实证明,在我的抽象ViewModelBase类中,我有notifypropertychanged的函数......但是我没有在类名上使用INotifyPropertyChanged,尽管我实现了方法...错误。一定是错过了。提出另一个问题......为什么我们必须在课堂上有接口定义才能使它工作?......好吧,现在一切都很好。现在工作正常。