- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
Icommand
包含两个方法和一个事件。
两个方法的作用很清楚,但是我无法理解ICommand
中提供的事件是做什么的。
CanExecuteChanged
事件何时引发?
下面的解释在MSDN但是我看不懂
CanExecuteChanged is raised if the command manager that centralizes the commanding operations detects a change in the command source that might invalidate a command that has been raised but not yet executed by the command binding.
您能用简单的术语解释一下吗?
谢谢......
最佳答案
此事件由命令引发以通知其消费者(即 Button、MenuItem)其 CanExecute 属性可能已更改。因此,如果焦点从一个文本框移动到另一个文本框,您的命令可能需要启用/禁用。此信息还需要使用您的命令传递给任何控件。
一般来说,此事件只是重新公开了 CommandManager.RequerySuggested事件。来自 RoutedCommand 类:
public event EventHandler CanExecuteChanged {
add {
CommandManager.RequerySuggested += value;
}
remove {
CommandManager.RequerySuggested -= value;
}
}
RequerySuggested 事件经常触发,因为焦点移动,文本选择改变。这也可以通过调用 InvalidateRequerySuggested 手动引发。 .
关于c# - ICommand 的 CanExecuteChanged 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6425923/
我可以使用 CanExecuteChanged 更改“可以执行”条件吗? 或者……它的用途是“什么”? 最佳答案 不,您不能使用它来更改可执行状态。它是参与ICommand 的事件和对象模式可以选择收
在我的 ViewModel 中,我有一个 ObservableCollection 的 Person 对象(实现了 INotifyPropertyChanged)和一个 SelectedPerson
我正在尝试 MVVM 模式基本级别,并在 ICommand CanExecute 更改时感到震惊。我有如下 XAML 绑定(bind): 命令: Public Class
我不知道如何使用 CanExecuteChangedEventManager在 MyCommand : ICommand 中。我尝试了以下但 value 是错误的类型: public event Ev
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 2 年前。 Improve this qu
Icommand 包含两个方法和一个事件。 两个方法的作用很清楚,但是我无法理解ICommand中提供的事件是做什么的。 CanExecuteChanged 事件何时引发? 下面的解释在MSDN但是我
在我的 WPF UI 中,我使用了我在 xaml 中通过以下代码引用的 RoutedCommands: Command="viewModel:MessageListViewModel.DeleteMe
我从 Josh Smith 的 MVVM tutorial 得到以下代码. 任何人都可以快速解释这段代码的实际作用吗? public event EventHandler CanExecuteChan
我正在分析一个使用 Catel 作为 MVVM 框架的 WPF 应用程序,我已经看到在 ViewModel 中我有 2 个保留路径作为 现在我在附加到上下文菜单的行为中创建了这样的 RadMenuIt
我正在使用 MVVM-Light 并且我的中继命令运行良好,我刚刚读到我应该实现 CanExecuteChanged和 CanExecute .虽然我找不到一个很好的例子。 有没有人有一个很好的例子来
我的 Command-ViewModel 中是否缺少某些内容? public class Command : ICommand { public Command(Action
我想实现当文本框值更改时,我的添加按钮可用。 我将文本框与 viewModel 绑定(bind): 我的按钮: 在后面的 XAML 代码中,我将 DataContext 设置为我的 ViewMod
在用户进行一些修改后,我想从 DelegateCommand 重新触发 canExecute 功能。我该怎么做呢? 最佳答案 必须引发接口(interface) ICommand 的事件 CanExe
我给自己写了一个 SingleExecutionCommand(我还不确定那个名字。请随意推荐另一个,但这不是我的问题),它不允许在第一次执行之前再次按下按钮完成的。好吧,至少那是计划。 我想使用 C
我是一名优秀的程序员,十分优秀!