Evento de valor de celda de WPF DataGrid cambiado

Tengo una configuración que se ve así:

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

dóndeMyItem implementosINotifyPropertyChanged. ¿Cuál es la forma de atrapar adecuadamente cuando elusuario ingresa un valor en una celda?

He intentado atraparPropertyChanged sobre elMyItems, pero también actualizo los valores periódicamente en segundo plano (la idea es que cuando el usuario edita manualmente el valor, se activa un indicador que indica el cálculo periódico para evitar sobrescribir los datos ingresados manualmente). EntoncesPropertyChanged atrapa todo, incluidas las actualizaciones periódicas, que no quiero. Supongo que es posible hacer que esto funcione (estableciendo un indicador cuando hago el cálculo periódico, luego verificando la ausencia de indicador en el controlador de eventos PropertyChanged, pero quiero saber si hay una solución más simple).

He intentado atraparmyDG.CurrentCellChanged pero se activa cada vez que el usuario cambia la selección de celda, no específicamente cuando edita el contenido de la celda.

Editar: Aquí está el 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>

Aquí está elMyItem implementación (usosFody / PropertyChanged):

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

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

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

Respuestas a la pregunta(1)

Su respuesta a la pregunta