Академический Документы
Профессиональный Документы
Культура Документы
Dokumen - Tips MVVM in WPF
Dokumen - Tips MVVM in WPF
План
Обзор MVVM
Command pattern
MVVM - подходы
Простой пример
Типичные проблемы
Разделение интересов и
ответственности
notifications
commands
ViewModel Model
commands
ViewModel
DataBinding - DataContext,
DependencyProperty
commands
ViewModel Model
commands
ViewModel Model
DataContext = ViewModel
Данные из Binding
commands
ViewModel Model
Взаимодейтсвует с моделью
Не знает о View
Полностью тестируема
commands
ViewModel Model
commands
ViewModel Model
Undo/redo
UI макросы
Транзакции
Очереди выполнения
Command pattern in
WPF
interface ICommand
{
bool CanExecute(object);
void Execute(object);
event EventHandler
CanExecuteChanged;
}
Внедряем MVVM
View-first
ViewModel-first
View-first
class ViewModel
{
public ViewModel(IView view)
{
}
}
Marriage
interface IView
{
void ApplyViewModel(object viewModel);
}
IView view = container.Resolve<IGameView>();
IViewModel container.Resolve<IGameViewModel>();
view.ApplyViewModel(vm);