표준 잘라 내기, 복사 및 붙여 넣기 명령 (ApplicationCommands 클래스의 일부)을 사용합니다. CanExecute 메서드를 다시 정의 할 수 있습니까?WPF : ApplicationCommands의 CanExecute 메서드를 다시 정의하는 방법
여기 내 코드입니다 :
XAML :
<Window.CommandBindings>
<CommandBinding Command="Copy"
CanExecute="CopyCanExecute" Executed="CopyExecuted"/>
</Window.CommandBindings>
<StackPanel>
<TextBox Name="txt"></TextBox>
<Button Command="Copy" CommandTarget="{Binding ElementName=txt}">copy</Button>
</StackPanel>
코드 숨김의 명령은 표준 복사 명령은 다음과 같은
private void CopyCanExecute(object sender, CanExecuteRoutedEventArgs e)
{
e.CanExecute = false;
}
private void CopyExecuted(object sender, ExecutedRoutedEventArgs e)
{
MessageBox.Show("Copy Executed");
}
이 버튼은 여전히 작동합니다.
Copy \ Cut \ Paste (도움말 명령 사용 예제)가 제대로 작동하지 않는 이유를 알 수 없습니다. CommandBinding을 복사하여 CanExecute를 정의하여 false를 반환하도록 지정합니다. 코드 숨김 파일에서 e.CanExecute = false. 그러나 Copy는 여전히 표준 복사 명령과 같이 작동합니다. TextBox에서 텍스트를 선택하면 버튼이 활성화됩니다. 이 문제를 이해하도록 도와 주시겠습니까? – Nike
코드를 표시하면 도움을 줄 수 있습니다. –
질문에 내 코드를 추가하십시오 – Nike