如何覆盖 WPF 文本框上的复制命令?

Dra*_*ake 3 routed-commands wpf-controls

我想重写 WPF 文本框的 RoutedUICommand“复制”行为。

是否可以不创建一个继承自 TextBox 的新 TextBoxExtended 类?

我已经达到了这一点,但现在我有点迷失了。

Private Sub tbSource_PreviewExecuted(ByVal sender As System.Object, ByVal e As System.Windows.Input.ExecutedRoutedEventArgs)

        Dim commandName = DirectCast(e.Command, Input.RoutedUICommand).Text

        If commandName = "Copy" Then

        End If

End Sub
Run Code Online (Sandbox Code Playgroud)

您知道如何继续吗?

Pav*_*kov 5

您可以将命令绑定添加到文本框以处理“复制”命令。例如,像这样:

<StackPanel>
  <TextBlock x:Name="TextBox">
    <TextBlock.CommandBindings>
        <CommandBinding Command="{x:Static ApplicationCommands.Copy}"
                        Executed="CommandBinding_Executed"/>
    </TextBlock.CommandBindings>
  </TextBlock>
  <Button Content="Copy" 
          Command="{x:Static ApplicationCommands.Copy}"
          CommandTarget="{Binding ElementName=TextBox}"/>
</StackPanel>
Run Code Online (Sandbox Code Playgroud)