Wpf 更改DataContext时绑定丢失

Wpf 更改DataContext时绑定丢失,wpf,binding,combobox,viewmodel,datacontext,Wpf,Binding,Combobox,Viewmodel,Datacontext,我的主窗口中有一个组合框 <ComboBox ItemsSource="{Binding GroupMethods}" SelectedItem="{Binding SelectedGroupMethod}"/> 我将它绑定到我的基本ViewModel类中的List,它在开始时就可以工作。 我希望这个组合框在我的应用程序中无处不在。 现在,我将MainWindow的DataContext切换到另一个viewModel,该viewModel继承自ViewModelBase(Gro

我的主窗口中有一个组合框

<ComboBox ItemsSource="{Binding GroupMethods}" SelectedItem="{Binding SelectedGroupMethod}"/>

我将它绑定到我的基本ViewModel类中的List,它在开始时就可以工作。 我希望这个组合框在我的应用程序中无处不在。 现在,我将MainWindow的DataContext切换到另一个viewModel,该viewModel继承自ViewModelBase(GroupMethods属性所在的位置),我在某一点上更新了该属性,但没有看到任何结果。绑定只是不认识到DataContext已经更改,仍然“查看”以前保存的属性。 激发PropertyChanged事件无法解决问题。
如何使其工作?

一般来说,您不应该在应用程序的中途切换DataContext。我不知道你在更新什么属性?它是原始ViewModel上的还是新的DataContext上的?如果可以的话,您将不得不显示来自ViewModel的更多代码,并且在哪里切换DataContext可能有这样的内容:ViewModelBase和ViewModel1,ViewModel2,它们都继承自base。ViewModelBase有一个属性GroupMethods,combobox已绑定到该属性。现在,当我将MainWindow.DataContext设置为ViewModel1时,它起作用了,然后将MainWindow.DataContext设置为viewmodel2-绑定将不起作用,即使我触发propertyChanged eventOK,我对所有混乱表示歉意。经过一个小时的测试,我记得我的Windwow中有一个ContentControl;)谢谢你的时间,再见