我使用标准的剪切,复制和粘贴命令(属于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");
}
该按钮的行为仍类似于其命令是标准“复制”命令。
最佳答案
您可以通过CommandBinding执行此操作。本地CommandBinding可以指定CanExecuteHandler。
有关详细信息和工作示例,请参见this blog post。