我有一个对象的 ObservableCollection(例如,有名字/姓氏的人),我想在 ItemsControl 中显示它。每个项目都显示在自定义“编辑器”控件中,该控件允许编辑对象的属性。这部分工作正常且相当标准。
<ItemsControl ItemsSource="{Binding Persons}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<custom:PersonEditor Person="{Binding}" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
但是,自定义编辑器控件还具有替换已接收到的整个对象的能力(而不是仅仅编辑一个人的姓名,将其替换为一个新的人对象)。
我正在寻找一种将这种变化推回 ObservableCollection 的方法。就像现在一样,在编辑器中更改 Person 对象并不会替换列表中的项目,这将是预期的结果。
任何帮助,将不胜感激。