ВУЗ:
Составители:
Рубрика:
94
Рис. 22. Простой текстовый редактор
В данном случае вполне логично будет сделать команды New (Со-
здать), Open (Открыть), Save (Сохранить), Save As (Сохранить как) и Close
(Закрыть) доступными всегда. Однако в другом дизайне может потребо-
ваться, чтобы команда Save становилась доступной только в том случае,
если текст был изменен и стал отличаться от исходного текста. Условно
эту деталь можно отследить в коде с помощью простого булевского зна-
чения и затем устанавливать этот флаг при каждом изменении текста:
private bool isDirty = false;
private void txt_TextChanged(object sender, RoutedEventArgs e)
{
isDirty = true;
}
Теперь необходимо только обеспечить возможность попадания дан-
ной информации из окна в привязку команды, так чтобы соответствующие
элементы управления могли обновляться должным образом. Секрет за-
ключается в обработке события CanExecute привязки команды. Присоеди-
нить обработчик к этому событию можно либо с помощью следующего
кода:
binding = new CommandBinding(ApplicationCommands.Save);
binding.Executed += SaveCommand_Executed;
binding.CanExecute += SaveCommand_CanExecute;
Страницы
- « первая
- ‹ предыдущая
- …
- 93
- 94
- 95
- 96
- 97
- …
- следующая ›
- последняя »