取消订阅CommandManager.RequerySuggested? WPF

时间:2015-09-29 19:04:32

标签: c# wpf events

我在WPF中实现一个简单的Button,它在XAML中绑定到ICommand

虽然效果很好,但我通过以下代码触发了CanExecute()

 public event EventHandler CanExecuteChanged
        {
            add { CommandManager.RequerySuggested += value; }
            remove { CommandManager.RequerySuggested -= value; }
        }

问题是,此事件使实例化的ICommand保持活跃状态​​,即使在完成此事件后,CanExecute()也会CommandManager不断触发。{ p>

我想我在List<EventHandler>个实例中以ICommand的形式得到了一个临时的不受欢迎的修补程序,它会添加来自value的每个传入的add{},我然后通过迭代它并调用CommandManager.RequerySuggested -= eventItem来手动取消订阅,但我想知道是否有更好的方法或我错误地使用它?

0 个答案:

没有答案