gpt4 book ai didi

wpf - 为什么 WPF/Visual Studio 不支持 MVVM 中的事件和命令?

转载 作者:行者123 更新时间:2023-12-03 13:27:46 30 4
gpt4 key购买 nike

在使用 MVVM 模式创建 WPF 应用程序时,看来我必须自己收集必要的工具甚至开始最基本的事件处理,例如

  • 我从 here 获得的 AttachedBehaviors
  • 我从 here 获得的委托(delegate)命令

  • 现在我正在寻找 的方法处理 ComboBox 中的 ItemSelected 事件 并且收到了 的建议技巧和解决方法为此(使用 XAML 触发器或将其他元素绑定(bind)到所选项目等)。好吧,我可以走这条路,但它似乎是在重新发明轮子。最好有一个 我可以在 ViewModel 中处理的 ItemSelected 命令 .

    我是否缺少一些标准工具集还是每个人都在使用 WPF 进行 MVVM 基本上构建和组合他们自己的工具集合,以便他们可以使用事件和命令完成最简单的管道任务,这些事情只需要在代码隐藏中使用几行 Click="eventHandler"?

    最佳答案

    您对命令的复杂性是正确的。我尝试尽可能地遵循 M-V-VM 模式,但我不能证明复杂的变通方法只是为了处理简单的用户事件。

    在我看来,如果可以大大简化您的代码,则可以在 View 中处理用户事件。如果您确实在 View 中处理用户事件,您的 View 的代码隐藏应该立即调用 ViewModel 上的方法。这样,您仍将逻辑保留在 ViewModel 中……您只需在 View 中添加一些管道代码(事件处理程序)。我知道 M-V-VM 纯粹主义者认为 View 的代码隐藏中不应该有代码,但有时允许一些简单的样板代码(如事件处理程序)更有意义。请记住,其他人将来可能必须阅读/修改您的代码,并且事件处理程序比 DelegateCommand 更容易理解。

    关于wpf - 为什么 WPF/Visual Studio 不支持 MVVM 中的事件和命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/950723/

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