微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 将Mvvm Light更新为版本5后,我需要做哪些更改才能使RelayCommand CanExecute()工作?

我将Mvvm Light更新为版本5并注意到RelayCommand停止工作.

问题似乎是没有调用CanExecute()进行验证.它只验证一次,就像加载窗口时一样.

这可能是最近更新中的错误还是我需要在XAML中更改某些内容

在更新之前一切正常.我正在使用WPF.

解决方法

MVVM Light 5 issue

WPF is the only XAML framework that uses the CommandManager to
automagically raise the CanExecuteChanged event on ICommands. I never
liked that approach,because of the “magic” part,but this is a
“feature” of WPF and of course I have to support it. No question here.

In V5,I moved to portable class library for all the newest versions
of the XAML frameworks,including WPF4.5. Unfortunately,there is no
CommandManager in PCL,and I have to admit that I didn’t realize that
at first sight. So of course Now the automagical part doesn’t work
anymore. Again,so sorry about that.

I am not expecting you to raise CanExecuteChanged everywhere Now,not
after using the CommandManager in your application,which is what the
WPF team intended. So I will try to find a way to restore the
CommandManager usage in the WPF4.5 version of the toolkit.

Definitely not looking for excuses

原文地址:https://www.jb51.cc/csharp/92583.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐