Есть поле для редактирования текста (richtextbox) и кнопка с коммандой undo
<StackPanel>
<Button Command="{x:Static ApplicationCommands.Undo}"
CommandTarget="{Binding ElementName=Editor}"
Content="Undo"
HorizontalAlignment="Left"/>
<RichTextBox x:Name="Editor" Width="300" Height="300" />
</StackPanel>
Мне нужно узнать изменилось ли содержание richtextbox. Простейший свособ на мой взгляд это проверить IsEnabled у кнопки undo.
Во viewmodel обьявил
public bool IsDirty { get; set; }
и попытался повесить его на кнопку
<StackPanel>
<Button Command="{x:Static ApplicationCommands.Undo}"
CommandTarget="{Binding ElementName=Editor}"
Content="Undo"
HorizontalAlignment="Left"
IsEnabled="{Binding IsDirty, Mode=OneWayToSource}"/>
<RichTextBox x:Name="Editor" Width="300" Height="300" />
</StackPanel>
и не работает, сеттер у IsDirty никогда не вызывается.
Как нужно правильно это делать? Как узнать что содержимое richtextbox изменилось (textChanged event не подходит)