gpt4 book ai didi

wpf - ViewModel 处理事件

转载 作者:行者123 更新时间:2023-12-03 10:28:57 26 4
gpt4 key购买 nike

我在这里看到了一个问题,其中 OP 询问了将事件绑定(bind)到 ViewModel 的问题。基本上 ViewModel 应该代表一个包含来自模型的必要数据的抽象 View ,以便 View 也可以使用绑定(bind)。但是为了能够满足 ViewModel 的所有功能,还必须转换 View 中发生的大多数用例,例如,如果搜索文本框为空,则搜索按钮应显示为灰色。这很好用,但可以向游戏中添加事件。如果 Button.Click 可绑定(bind)到 ViewModel 中的 EventHandler 和事件处理程序内部,那么您将能够使用模型对象,这将更容易。

现在我的问题是,既然 WPF 支持事件驱动编程,为什么不能在 ViewModel 中处理事件?我如何提供绑定(bind)事件功能?

最佳答案

事件处理程序将位于 View 的代码隐藏文件中。如果您使用的是 MVVM,那么您需要尽量减少代码隐藏文件中的代码量。

WPF 支持命令,ICommand接口(interface)包括一个CanExecuteExecute方法。有 ICommand 的实现这允许在 View 模型上实现这些方法。

话虽如此,指挥也有其局限性,所以you should consider using an MVVM framework when using MVVM .像 Caliburn.Micro自带Actions它还允许基于控制事件调用 View 模型上的动词。

关于wpf - ViewModel 处理事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18054297/

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