在 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
内部有一个错误,我相信其中显然是错误的。
请原谅我提出这个问题,每次我使用对我来说都是新的技术时,我都没有发现明显的错误。
总之非常感谢帮助过的人
在我的 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
内部有一个错误,我相信其中显然是错误的。
请原谅我提出这个问题,每次我使用对我来说都是新的技术时,我都没有发现明显的错误。
总之非常感谢帮助过的人