Как переопределить команду «Копировать» в текстовом поле WPF? - PullRequest
3 голосов
/ 08 октября 2009

Я хотел бы переопределить поведение RoutedUICommand "Копировать" WPF TextBox.

Возможно ли это без создания нового класса TextBoxExtended, который наследуется от TextBox?

Я достиг этой точки, но теперь я немного растерялся.

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

У вас есть идеи, как продолжить?

1 Ответ

4 голосов
/ 06 января 2011

Вы можете добавить привязку команды к текстовому полю для обработки команды «Копировать». Например, вот так:

<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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...