Добавьте установщик к свойству MyCommand.
Как всегда, проверьте окно вывода на наличие ошибок привязки данных при визуализации XAML.
Кроме того, попробуйте добавить конвертер тестовых значений и поместить точку останова в метод convert, чтобы увидеть, выполняется ли привязка данных даже для этой команды. Если точка останова не достигнута, вы знаете, что у вас есть проблема в вашем XAML. Если достигнута точка останова, посмотрите на значение, чтобы убедиться, что контекст данных правильный.
<UserControl.Resources>
<ResourceDictionary>
<TestConverter x:Key="TestConverter" />
</ResourceDictionary>
<Button Grid.Column="1" x:Name="Test" Content="Test" Margin="2,0,2,0" Command="{Binding Path=MyCommand, Converter={StaticResource TestConverter}}" />
</UserControl>
Тестовый преобразователь значений - очень полезен для устранения проблем с привязкой данных.
public class TestConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
Debug.WriteLine("TestConverter.Convert(value := {0}, targetType := {1}, parameter := {2}, culture := {3})",
value, targetType, parameter, culture);
return value; // put break point here to test data binding
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
Debug.WriteLine("TestConverter.ConvertBack(value := {0}, targetType := {1}, parameter := {2}, culture := {3})",
value, targetType, parameter, culture);
return value;
}
}