注入视图模型以使用MEF进行查看 - 从源无法绑定 - WPF

时间:2017-06-02 20:25:49

标签: c# wpf mvvm prism mef

我正在使用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通知。

我可能做错了什么?

1 个答案:

答案 0 :(得分:0)

发现了这个问题。事实证明,在我的抽象ViewModelBase类中,我有notifypropertychanged的函数......但是我没有在类名上使用INotifyPropertyChanged,尽管我实现了方法...错误。一定是错过了。提出另一个问题......为什么我们必须在课堂上有接口定义才能使它工作?......好吧,现在一切都很好。现在工作正常。