【发布时间】:2017-09-28 17:50:24
【问题描述】:
背景
在看Josh Smith关于CommandGroup的文章时,我注意到网上有很多关于如何实现ICommand.CanExecuteChanged的cmets。
在 StackOverflow 上发布了一个类似的问题 here,但是
- 我觉得没有明确的答案,并且
- 评论中没有足够的空间来添加额外的上下文。
供参考:
- Josh Smith 的原始 article 关于
CommandGroup使用了一个简单的 .NET 事件 - Josh Smith 的
RelayCommand使用CommandManagerimplementation 的CanExecuteChanged - 微软自己的
RoutedCommand使用CommandManagerimplementation的CanExecuteChanged - Microsoft 自己的 PRISM 库(版本:6)还 uses 一个简单的 .NET 事件(以前的版本使用弱引用)
我的问题
我对 WPF 比较陌生,我想知道应该如何在 Josh Smith 的 CommandGroup 中实现 CanExecuteChanged 事件以避免任何意外行为或内存泄漏?
补充阅读
Josh Smith: Aggregating WPF Commands with CommandGroup
Josh Smith: WPF apps with the MVVM design pattern
StackOverflow: Is Josh Smith's implementation of the RelayCommand flawed?
【问题讨论】:
标签: c# wpf mvvm weak-references relaycommand