执行命令后,我想将它从StackPanel
的{{1}}事件中分离出来,这样它就不会被再次调用。
有可能吗?
PreviewMouseDown
答案 0 :(得分:0)
我可能过于简单了,但是你只是在调用一次之后尝试在视图模型中将MyCommand设置为null。
答案 1 :(得分:0)
您可以在视图模型中指定CanExecute
条件,然后在方法运行一次后将其设置为False
。
这是一个快速查看模型,我使用Prism' DelegateCommand
一起测试它。
public class MainViewModel
{
public DelegateCommand MyCommand { get; set; }
private bool canExecute = true;
public MainViewModel()
{
MyCommand = new DelegateCommand(SayHi, () => canExecute);
}
public void SayHi()
{
MessageBox.Show("Hi");
canExecute = false;
}
}