ExecutedRoutedEventHandler Делегат
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет метод, обрабатывающий перенаправленные события Executed и PreviewExecuted, а также связанные присоединенные события.
public delegate void ExecutedRoutedEventHandler(System::Object ^ sender, ExecutedRoutedEventArgs ^ e);
public delegate void ExecutedRoutedEventHandler(object sender, ExecutedRoutedEventArgs e);
type ExecutedRoutedEventHandler = delegate of obj * ExecutedRoutedEventArgs -> unit
Public Delegate Sub ExecutedRoutedEventHandler(sender As Object, e As ExecutedRoutedEventArgs)
Параметры
- sender
- Object
Объект, к которому присоединен обработчик событий.
Данные события.
Примеры
В этом примере создается ExecutedRoutedEventHandler объект , который задает свойство визуального элемента в целевом объекте при выполнении команды. В этом примере также содержится CanExecuteRoutedEventHandler для той же команды.
// ExecutedRoutedEventHandler for the custom color command.
private void ColorCmdExecuted(object sender, ExecutedRoutedEventArgs e)
{
Panel target = e.Source as Panel;
if (target != null)
{
if (target.Background == Brushes.AliceBlue)
{
target.Background = Brushes.LemonChiffon;
}
else
{
target.Background = Brushes.AliceBlue;
}
}
}
// CanExecuteRoutedEventHandler for the custom color command.
private void ColorCmdCanExecute(object sender, CanExecuteRoutedEventArgs e)
{
if (e.Source is Panel)
{
e.CanExecute = true;
}
else
{
e.CanExecute = false;
}
}
' ExecutedRoutedEventHandler for the custom color command.
Private Sub ColorCmdExecuted(ByVal sender As Object, ByVal e As ExecutedRoutedEventArgs)
Dim target As Panel = TryCast(e.Source, Panel)
If target IsNot Nothing Then
If target.Background Is Brushes.AliceBlue Then
target.Background = Brushes.LemonChiffon
Else
target.Background = Brushes.AliceBlue
End If
End If
End Sub
' CanExecuteRoutedEventHandler for the custom color command.
Private Sub ColorCmdCanExecute(ByVal sender As Object, ByVal e As CanExecuteRoutedEventArgs)
If TypeOf e.Source Is Panel Then
e.CanExecute = True
Else
e.CanExecute = False
End If
End Sub
Комментарии
Этот делегат содержит логику реализации для RoutedCommand. Отделение логики реализации от команды позволяет вызывать команду из разных источников и типов, а также обеспечивает централизацию логики команд.
Этот делегат также используется для CommandManager.Executed и CommandManager.PreviewExecuted, которые являются присоединенными событиями CommandManager класса, реализующего большую часть инфраструктуры команд. Но большинство практических обработчиков будут обрабатывать Executed события из определенного CommandBinding, а не работать на CommandManager уровне .
В ExecutedRoutedEventArgsпри написании обработчика событий для перенаправленного события, которое является результатом выполнения команды, обычно представляют интерес следующие свойства:
Source сообщает о целевом объекте, в котором была выполнена команда. После выполнения команды можно также считать более общим в терминах Source перенаправленных событий объект , который вызвал перенаправленное событие.
Command сообщает о выполненной команде. Это свойство полезно при использовании привязок команд и при написании обработчиков, которые потенциально обрабатывают несколько команд.
Parameter сообщает о любых параметрах, относящихся к командам, которые были переданы выполняющейся командой. Не все команды используют или ожидают параметры, относящиеся к командам.
Handled сообщает, было ли перенаправленное событие, полученное в результате выполнения команды, уже обработано другим элементом в маршруте. Для перенаправленных обработчиков событий рекомендуется использовать обработчики, которые выполняют значимую работу при обработке события, чтобы задать значение Handled
true. Это не позволяет типичным обработчикам события обрабатывать событие еще дальше по маршруту. Дополнительные сведения об обработке перенаправленных событий см. в разделах Маркировка перенаправленных событий как обработанных и Обработка классов.
Этот делегат также представляет обработчики для CommandManager.Executed и CommandManager.PreviewExecutedEvent, которые являются присоединенными событиями CommandManager класса, реализующего большую часть инфраструктуры команд. Но большинство практических обработчиков будут обрабатывать Executed события из определенного CommandBinding, а не работать на CommandManager уровне .
Дополнительные сведения о системе команд см. в разделе Общие сведения о системе команд.
Методы расширения
| GetMethodInfo(Delegate) |
Получает объект, представляющий метод, представленный указанным делегатом. |