ВУЗ:
Составители:
Рубрика:
102
Рис. 23. Текстовый редактор для двух документов
Команды Cut, Сору и Paste будут работать автоматически, а реализо-
ванные самостоятельно команды New, Open и Save — нет. Сложность со-
стоит в том, что при срабатывании события Executed для любой из этих
команд совершенно не очевидно, к какому из текстовых полей оно отно-
сится. Хотя объект ExecutedRoutedEventArgs и предоставляет свойство
Source, это свойство отражает элемент, имеющий привязку команды. А
все привязки команд в текущий момент присоединены к содержащему ок-
ну.
Решить эту проблему можно, привязав команду в каждом текстовом
поле по-разному с помощью коллекции CommandBindings следующим об-
разом:
<TextBox.CommandBindings>
<CommandBinding Command="ApplicationCommands.Save" Execut-
ed="SaveCommand" />
</TextBox.CommandBindings>
Теперь текстовое поле обрабатывает событие Executed. Эту инфор-
мацию можно использовать в обработчике событий для обеспечения уве-
ренности в том, что сохраняется правильная информация:
private void SaveCommand(object sender, ExecutedRoutedEventArgs e)
{
string text = ((TextBox)sender).Text;
MessageBox.Show("About to save: " + text);
isDirty = false;
Страницы
- « первая
- ‹ предыдущая
- …
- 101
- 102
- 103
- 104
- 105
- …
- следующая ›
- последняя »