I have the following XAML:
<Grid x:Name="main_grid">
<ItemsControl ItemsSource="{Binding MyThings}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<ComboBox ItemsSource="{Binding DataContext.Things, ElementName=main_grid}" SelectedItem="{Binding .}" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Grid>
MyThings
and Things
are both ObservableCollection<Thing>
.
If Things
contains three objects, and I have added one of them to MyThings
, when the view/XAML loads the ComboBox
will initially display that item. However, when I change the selection in the ComboBox
, the item within MyThings
is not replace with the newly selected item as I would expect (if it were bound to a single object, rather than an object in a collection, it would be replaced).
Why does this not work? And is there a way to make it work?
question from:
https://stackoverflow.com/questions/65852798/combobox-selecteditem-binding-does-not-work-for-an-object-in-a-collection 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…