2009-10-08 2 views
3

WPF TextBox의 RoutedUICommand "Copy"동작을 재정의하고 싶습니다.WPF 텍스트 상자에서 복사 명령을 재정의하는 방법은 무엇입니까?

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 

계속하는 방법에 대해 알고 싶습니까?

답변

4

"복사"명령을 처리하기 위해 텍스트 상자에 명령 바인딩을 추가 할 수 있습니다. 예 : 다음과 같이 :

<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>