gpt4 book ai didi

c# - ICommand 的 CanExecuteChanged 事件

转载 作者:IT王子 更新时间:2023-10-29 04:38:28 24 4
gpt4 key购买 nike

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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com