1

我在这里忘记了什么?

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

更改 selectedItem 会更新 testBlock,但不会在我的控件中触发 DataContextChanged 事件。它确实会在第一个选择上触发事件,但不会在任何后续选择上触发。

4

1 回答 1

0

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

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

DataContext = dependencyPropertyChangedEventArgs.NewValue;

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

于 2013-09-26T18:02:08.667 回答