首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ICommand对IValueConverter

ICommand对IValueConverter
EN

Stack Overflow用户
提问于 2013-09-04 02:03:30
回答 2查看 141关注 0票数 0

我是新来的WPF。我目前正在WPF中开发一个应用程序,在该应用程序中,我必须根据数据库中的值启用/禁用按钮。我在网络上找到了使用命令和转换器的解决方案。那么哪一个是更好的解决方案,为什么呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-04 02:09:34

在使用按钮时,最好使用命令实现,因为它是内置的,并且您可以为谓词提供一个命令参数,所以转换器是您需要编写的东西,在您不想使用它的每个地方都需要编写实例和位置。

总之,使用CanExecute的命令将更加可重用和可维护。

票数 1
EN

Stack Overflow用户

发布于 2013-09-04 22:18:40

由于您是WPF的新手,我建议您也开始学习Rx扩展和反应性UI。Reactive提供了一个命令框架,它可以在复杂的场景中真正帮助您,在这种情况下,命令依赖于可以通过lambda函数和可观察性计算的许多标志/条件。

如果您想要创建一个复杂的应用程序,您肯定应该开始学习MVVM。对于一个简单的应用程序,请使用MVVM。对于更复杂的WPF应用程序,您可以使用反应性UI或Microsoft。

看看这里的反应性UI。在Reactive主页中有一些命令示例,但是您也可以在这里中获得更多的示例

例如,您可以这样声明一个ICommand:

代码语言:javascript
复制
 DisplayCommand = new ReactiveCommand(this.WhenAny(x => x.Name, x => !string.IsNullOrEmpty(x.Value)));

看一下文档。

如前所述,对于此场景,您应该使用命令而不是转换器。

此外,如果您想要侦听的事件是除单击之外的其他事件,则使用System.Interactive行为/操作(如描述的这里 )。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18604332

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档