Я использую RelayCommands в моих ViewModels, чтобы избавиться от кода позади. Команды RelayCommands работают, кроме как в этой ситуации: ViewModel, в котором определены команды RelayCommands, изменяется с изменением текста данных. Если команда запускается после изменения текста данных, она запускается в «старой» модели представления. Во время отладки я вижу, что свойства взяты из старого текста данных. Но в представлении все хорошо, потому что отображаются правильные данные правильной модели представления.
Так возможно ли, что ограниченные команды не способны реагировать на изменение текста данных?
Или может быть что-то еще не так?
Вот фрагмент кода:
<TabControl x:Name="TestView" DataContext="{Binding Path=SelectedParentElement}"
TabStripPlacement="Top" ItemsSource="{Binding Path=ChildElements, Mode=OneWay}"
SelectedValue="{Binding Path=SelectedChildElement, Mode=TwoWay}">
<TabControl.ContextMenu>
<ContextMenu>
<MenuItem Header="Klassifikation" Name="Klassifikation">
<MenuItem Header="Kindebene" Name="KlassisfizierendNext" Command="{Binding KlassifizierendNextCommand}"/>
</MenuItem>
</ContextMenu>
</TabControl.ContextMenu>
.......
</TabControl>
Текст данных контекста tabcontrol корректно меняется, но после изменения команда вызывается в старом тексте данных.