在 WPF 中有多个控件使用相同的 CommandBinding?

Having multiple Controls using the same CommandBinding in WPF?

在我的 Window 中,有几个控件执行相同的操作。

例如我有一个MenuItem

<MenuItem x:Name="_mnuNew" Command="New" Header="_New" InputGestureText="Ctrl+N"/>

和一个Button

<Button x:Name="_btnNew" Command="New"/>

执行"New"命令

<Window.CommandBindings>
    <CommandBinding Command="New" CanExecute="IsNewExecuteable" Executed="NewExecute" />
</Window.CommandBindings>

MenuItem 的作业按预期工作。为 Button 设置命令会导致 NullReferenceException

我读过 here 命令绑定也适用于按钮,所以我做错了什么。

编辑:

    private void IsNewExecuteable(object sender, System.Windows.Input.CanExecuteRoutedEventArgs e)
    {
        e.CanExecute = IsRunning; //IsRunning is a siple property that is tested and works
    }

整个CommandBinding部分没问题,但IsNewExecuteable内部有一个错误,我相信其中显然是错误的。

请原谅我提出这个问题,每次我使用对我来说都是新的技术时,我都没有发现明显的错误。

总之非常感谢帮助过的人