Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在WPF MVVM中使用行为?_Wpf_Mvvm - Fatal编程技术网

在WPF MVVM中使用行为?

在WPF MVVM中使用行为?,wpf,mvvm,Wpf,Mvvm,我是WPF MVVM的新手。。有人清除了WPF?中MVVM应用程序中行为的用法吗?。为什么我们在WPF MVVM中有方法操作时也应该选择行为?行为是附加到元素并指定应用程序何时响应的东西 该操作附加到该行为,并定义触发该行为时应用程序应执行的操作 乍一看,一个行为看起来类似于一个动作:一个独立的动作 功能单位。主要区别在于,行动预期 被调用时,它们将执行一些操作。A. 行为没有调用的概念;相反,它采取了行动 更多作为对象的附加组件:可选功能,可以 如果需要,可以附加到对象上。它可能会做出某些反

我是WPF MVVM的新手。。有人清除了WPF?中MVVM应用程序中行为的用法吗?。为什么我们在WPF MVVM中有方法操作时也应该选择行为?

行为是附加到元素并指定应用程序何时响应的东西

该操作附加到该行为,并定义触发该行为时应用程序应执行的操作

乍一看,一个行为看起来类似于一个动作:一个独立的动作 功能单位。主要区别在于,行动预期 被调用时,它们将执行一些操作。A. 行为没有调用的概念;相反,它采取了行动 更多作为对象的附加组件:可选功能,可以 如果需要,可以附加到对象上。它可能会做出某些反应 从环境中获得刺激,但不能保证 用户可以控制这个刺激是什么:它取决于行为 作者确定哪些可以自定义,哪些不能自定义

:

行为允许您封装多个相关或依赖的活动 在单个可重用单元中添加状态


在MVVM中,如果ViewModel公开方法而不是命令,则可能需要从视图中调用方法。行为允许这一点

您声明“我们在WPF MVVM中有方法操作”,但据我所知,“方法操作”不是WPF的一部分。如果您使用的是帮助器MVVM库,它可能会提供“方法操作”,可以将方法封装在命令中。在这种情况下,使用方法的MVVM模式不需要行为


但是请注意,行为在MVVM之外还有其他用途。

我强烈建议阅读以下内容:

  • 什么是依附行为
  • 它的替代方案是什么
  • 与类似问题的替代解决方案相比,它具有优势
其思想是在元素上设置附加属性,以便可以从公开附加属性的类访问该元素。一旦该类拥有对元素的访问权,它就可以钩住元素上的事件,并响应这些事件的触发,使元素做它通常不会做的事情。它是创建和使用子类的一个非常方便的替代方法,并且非常XAML友好

从上述文章得出的结论:

在对象上挂起事件并在其激发时执行某些操作是非常重要的 无论如何,这肯定不是一个突破性的创新 想象力。从这个意义上说,依附行为只是另一种方式 做同样的事。然而,这项技术的重要性是 它有一个名字,这可能是最重要的方面 设计模式。此外,还可以创建附加的行为和 将它们应用于任何元素,而无需修改元素的任何其他部分 系统。这是帕斯卡提出的问题的一个干净的解决方案 还有很多很多其他的问题。这是一个非常有用的工具 在你的工具箱里有


我不清楚你的详细情况,埃诺。。还有其他详细的帖子或教程吗?我补充了我的答案。我看不出我怎么能更好地解释它。你也可以读到: