在MVVM模式下事件是怎么处理的。

ToHolst 2013-06-27 04:08:58
在MVVM模式下事件是怎么处理的,比如说KEYDOWN,没有找到相关的资料。
...全文
450 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ly331547117 2013-09-18
  • 打赏
  • 举报
回复
EventTrigger
vbfool 2013-07-13
  • 打赏
  • 举报
回复
楼上说的没错,对于键盘事件,Blend提供了KeyTrigger,对于一般事件,提供了EventTrigger,甚至你可以自己定义Trigger,通过这些Trigger,触发相应的Action。 Behavior简单来说就是把Trigger和Action写在一个实现里。MVVM的前端代码,大多都可以通过Behavior和Trigger来封装。
  • 打赏
  • 举报
回复
MVVM的目的是为了在设计分工上,将编程跟交互界面设计相分离。 那么如果你的事件处理设计、或者ICommand,是纠结于(针对于)界面上的元素来设计的,那么此时就不要讲自己是什么“MVVM模式下的VM”。你这个时候就是V,而不是VM设计。 这个很重要。很多人空谈MVVM,但是在VM中写的代码,你会发现是针对View来设计的代码。这简直就是背叛了MVVM设计的目的了。 那么,既然你的事件处理代码是View设计的一个部分,我建议你熟练使用Behavior/TriggerAction,用它来是的你的View中的设计的先后层次分得更清晰。因为这种行为插件的开发模式,正好就是跟控件的事件机制想配对的,而且在Blend工具上有着非常自然的操作流程。
Architecture Net 2013-07-01
  • 打赏
  • 举报
回复
事件在MVVM下是通过绑定Command的方式处理的。 <Button Content="{Binding BtnContent}" Height="23" HorizontalAlignment="Left" Margin="12,178,0,0" Command="{Binding ShowMessage}" Name="button1" VerticalAlignment="Top" Width="75" /> 你可以看看下面一篇文章 http://www.cnblogs.com/chengxingliang/archive/2011/08/08/2130044.html

8,737

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧