WPF:如何启用命令?
我不知道为什么只有在ListView中选择了一个项目时才启用我的上下文菜单中的添加项目。 有人知道为什么吗?
这是我的XAML代码
窗口的方法是:
private void CommandBinding_Executed(object sender, ExecutedRoutedEventArgs e) { MessageBox.Show("ok"); } private void CommandBinding_CanExecute(object sender, CanExecuteRoutedEventArgs e) { e.CanExecute = true; e.Handled = true; }
需要关注CommandBinding.CanExecute
才能被调用。 由于在ListView
选择一个项目会强制焦点转移到ListView
; 评估可以发生。
如果你要放置listView.Focus();
在您的Window
构造函数中,您会注意到CommandBinding.CanExecute
现在按预期调用,因此在ListView
不包含或选择项目时启用。
将绑定移动到Window
仍然需要在Window
设置焦点; 通过构造函数中的显式调用或通过其他方式; ex …选择ListView
的项目或Window
中可以获得焦点的其他控件。