Событие изменения значения ячейки WPF DataGrid

У меня есть настройки, которые выглядят так:

// myDG is a DataGrid whose columns are DataGridTextColumn
ObservableCollection<MyItem> myOC;
// myOC is populated with some new MyItem
myDG.ItemsSource = myOC;

гдеMyItem инвентарьINotifyPropertyChanged, Какой способ правильно поймать когдапользователь вводит значение в ячейку?

Я пытался пойматьPropertyChanged наMyItems, но я также периодически обновляю значения в фоновом режиме (идея заключается в том, что, когда пользователь вручную редактирует значение, запускается флаг, который сообщает периодическим вычислениям, чтобы избежать перезаписи введенных вручную данных). ТакPropertyChanged ловит все, включая периодические обновления, которые я не хочу. Я предполагаю, что это возможно сделать (установив флаг, когда я делаю периодические вычисления, затем проверяя отсутствие флага в обработчике событий PropertyChanged - но я хочу знать, есть ли более простое решение.)

Я пытался пойматьmyDG.CurrentCellChanged но это срабатывает каждый раз, когда пользователь меняет выбор ячейки, а не конкретно, когда он редактирует содержимое ячейки.

Редактировать: вот XAML:

<DataGrid x:Name="myDG" ItemsSource="{Binding}" AutoGenerateColumns="False" Margin="10,10,182,0" VerticalAlignment="Top" Height="329" ClipboardCopyMode="IncludeHeader">
    <DataGrid.Columns>
        <DataGridTextColumn Header="Col1" Binding="{Binding Prop1}" IsReadOnly="True"/>
        <DataGridTextColumn Header="Col2" Binding="{Binding Prop2}" IsReadOnly="False"/>
    </DataGrid.Columns>
</DataGrid>

ЗдесьMyItem реализация (используетFody / PropertyChanged):

[ImplementPropertyChanged]
class MyItem : INotifyPropertyChanged
{
    public event PropertyChangedEventHandler PropertyChanged;

    public string Prop1 { get; set; }
    public string Prop2 { get; set; }

    public MyItem()
    {
        Prop1 = Prop2 = "";
    }
}

Ответы на вопрос(1)

Ваш ответ на вопрос