Wpf 未针对更改触发DataContextChanged事件

Wpf 未针对更改触发DataContextChanged事件,wpf,datacontext,Wpf,Datacontext,我忘了什么 <ComboBox ItemsSource="{Binding MyList} SelectionChanged="Selector_OnSelectionChanged"/> <TextBlock Text="{Binding SelectedItem}"/> <MyControl DataContext="{Binding SelectedItem}" /> 更改selectedItem会更新测试块,但不会在我的控件中触发DataContex

我忘了什么

<ComboBox ItemsSource="{Binding MyList} SelectionChanged="Selector_OnSelectionChanged"/>
<TextBlock Text="{Binding SelectedItem}"/>
<MyControl DataContext="{Binding SelectedItem}" />

更改selectedItem会更新测试块,但不会在我的控件中触发DataContextChanged事件。它确实会在第一次选择时触发事件,但不会触发任何后续选择。

我将在这里回答我自己的问题以备记录。我可能应该问一个新问题,因为我仍然很困惑

我遇到的问题是因为我的OnDataContextChanged处理程序中有以下内容:

DataContext = dependencyPropertyChangedEventArgs.NewValue;

显然,这是多余的,因为DataContext已经被设置为一个艰难的星期。删除此行可以解决此问题。然而,我仍然不知道为什么这会导致任何问题。

您能提供更多信息吗?您的视图模型是什么样子的?MyList对象是什么?如何选择从组合框中选择的值,等等……Mylist有哪些对象?串?它们是唯一的吗?我猜您必须实现INotifyPropertyChanged,这样当SelectedItem中发生更改时,接口就会收到该更改。我以前也遇到过类似的问题。有关更多解释,请参阅。