CommandManager.AddPreviewExecutedHandler(UIElement, ExecutedRoutedEventHandler) Method

Definition

将指定的 ExecutedRoutedEventHandler 附加到指定的元素。Attaches the specified ExecutedRoutedEventHandler to the specified element.

public:
 static void AddPreviewExecutedHandler(System::Windows::UIElement ^ element, System::Windows::Input::ExecutedRoutedEventHandler ^ handler);
public static void AddPreviewExecutedHandler (System.Windows.UIElement element, System.Windows.Input.ExecutedRoutedEventHandler handler);
static member AddPreviewExecutedHandler : System.Windows.UIElement * System.Windows.Input.ExecutedRoutedEventHandler -> unit
Public Shared Sub AddPreviewExecutedHandler (element As UIElement, handler As ExecutedRoutedEventHandler)

Parameters

element
UIElement

要向其附加 handler 的元素。The element to attach handler to.

handler
ExecutedRoutedEventHandler

可以执行的处理程序。The can execute handler.

Exceptions

elementhandlernullelement or handler is null.

Examples

下面的示例创建一个 CanExecuteRoutedEventHandler 和一个 ExecutedRoutedEventHandler,并将其附加到作为 Help 命令的命令源的 ButtonThe following example creates a CanExecuteRoutedEventHandler and an ExecutedRoutedEventHandler and attaches them to a Button which is a command source for the Help command.

首先,创建 Button,并将其与 Help 命令相关联。First, the Button is created and associated with the Help command.

<Button Command="ApplicationCommands.Help"
        Name="helpButton">Help</Button>

接下来,创建 CanExecuteRoutedEventHandlerExecutedRoutedEventHandlerNext, the CanExecuteRoutedEventHandler and the ExecutedRoutedEventHandler are created.

private void HelpCmdExecuted(object sender, ExecutedRoutedEventArgs e)
{
    // OpenHelpFile opens the help file
    OpenHelpFile();
}
Private Sub HelpCmdExecuted(ByVal sender As Object, ByVal e As ExecutedRoutedEventArgs)
    ' OpenHelpFile opens the help file
    OpenHelpFile()
End Sub
private void HelpCmdCanExecute(object sender, CanExecuteRoutedEventArgs e)
{
    // HelpFilesExists() determines if the help file exists
    if (HelpFileExists() == true)
    {
        e.CanExecute = true;
    }
    else
    {
        e.CanExecute = false;
    }
}
Private Sub HelpCmdCanExecute(ByVal sender As Object, ByVal e As CanExecuteRoutedEventArgs)
    ' HelpFilesExists() determines if the help file exists
    If HelpFileExists() = True Then
        e.CanExecute = True
    Else
        e.CanExecute = False
    End If
End Sub

最后,使用 AddCanExecuteHandlerAddExecutedHandler将处理程序附加到 ButtonFinally, the handlers are attached to the Button using the AddCanExecuteHandler and AddExecutedHandler.

CommandManager.AddExecutedHandler(helpButton, HelpCmdExecuted);
CommandManager.AddCanExecuteHandler(helpButton, HelpCmdCanExecute);
CommandManager.AddExecutedHandler(helpButton, AddressOf HelpCmdExecuted)
CommandManager.AddCanExecuteHandler(helpButton, AddressOf HelpCmdCanExecute)

Applies to

See also