我使用MEF容器将视图模型注入视图:
: [ImportingConstructor]
public MainView(IRepository repository, MainViewModel viewModel)
{
InitializeComponent();
mMainViewModel = viewModel;
DataContext = viewModel;
viewModel.PropertyChanged += OnViewModelPropertyChanged;
}
一切正常。我在视图和ViewModel上具有导出属性。
问题是,当通过某种方法上对ViewModel更新值属性时,它不会反映UI。我什至尝试将模式设置为两种方式 - 仍然无法正常工作。我有OnPropertyChanged
打电话给所有属性设置器,但不起作用。但是,在视图背后的代码中,如果我将propertychanged
事件方法附加到ViewModel,我会收到事件通知,这是我可以使用它们的唯一方法来更新视图,但这不是必需的。我只是不知道为什么我的观点不会直接在绑定元素上响应propertychanged
通知。
我会做什么错?
找到了问题。事实证明,在我的抽象viewModelbase类中,我有了notifypropertychanged的函数...但是尽管我实现了该方法。一定错过了。提出另一个问题...为什么我们必须在班上有界面定义才能工作?...嗯,现在一切都很好。现在正常工作。