Большинство вопросов решаются с помощью режима привязки или добавления UpdateSourceTrigger=PropertyChanged
.
Имеет смысл устанавливать свойства UpdateSourceTrigger
и Mode
, когда элемент управления фактически может устанавливать свойство источника. DataGrid
не не устанавливает источник свойства ItemsSource
, поэтому установка этих свойств в этом контексте не имеет смысла.
DataGrid
никогда не вызовет установщик вашего MyList
исходного свойства. Будет назван только получатель. Это ожидаемое поведение. Вы должны определить привязку следующим образом:
<DataGrid ItemsSource="{Binding MyList}">
Если вы, например, связываете свойство Text
TextBox
, имеет смысл указать UpdateSourceTrigger
и Mode
для управления, когда и если TextBox
устанавливает свойство источника. Но это не так при связывании свойства ItemsSource
ItemsControl
.
Неясно, почему вы ожидаете или хотите, чтобы установщик свойства исходной коллекции вызывался здесь фреймворком, потому что он не должен этого делать. И не будет.
Если вы хотите обнаружить элементы, добавляемые или удаляемые из DataGrid
, вам следует заменить List<MyObjectINotifyImplemented>
на ObservableCollection<MyObjectINotifyImplemented>
и обработать событие CollectionChanged
в исходной коллекции. Сама коллекция не будет заменена.