Во-первых, я новичок в WPF MVVM и немного запутался. Люди говорят, что обычно в MVVM лучше всего не использовать какой-либо код. Я обнаружил, что некоторые методы гораздо проще реализовать в коде, чем в модели представления (например, MouseMove), и это заставило меня задуматься о различиях этих двух следующих примеров:
1) Использование RelayCommand:
Просмотр
Модель просмотра
Код: Выделить всё
public RelayCommand AlertCommand { get; set; }
public void Alert()
{
MessageBox.Show("message");
}
2) вызов методов ViewModel из кода:
View
Просмотр кода
Код: Выделить всё
private void OnMouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
var ctx = (MainViewModel) this.DataContext;
ctx.Alert();
}
Неправильно ли использовать здесь код? Каковы преимущества отказа от использования кода?
Подробнее здесь:
https://stackoverflow.com/questions/483 ... ode-behind