首页 > Windows开发 > 详细

WPF MVVM 如何在ViewModel中操作View中的控件事件

时间:2017-06-08 14:39:25      阅读:584      评论:0      收藏:0      [点我收藏+]

(在学习Wpf的时候,做一个小例子,想在TextBox改变后,检验合法性,并弹出提示。在找了很多贴后,发现这个小例子,抄袭过来,仅供参考。)

 

虽然说MVVM模式下不建议在Viewmodel层中操控View层中控件,但是在某些情况下,比如想要得到某个事件的参数,在Viewmodel层中不太方便实现,这时候就可以用下面的方法了。

在XAML中

1、引用组件并设置

xmlns:Interaction="http://schemas.microsoft.com/expression/2010/interactions"

xmlns:Interactivity="http://schemas.microsoft.com/expression/2010/interactivity"

 

2、DataContext设置

xmlns:VM="clr-namespace:MVVM_.ViewModel"

<Window.DataContext>        

<VM:MainWindowViewModel /> < /Window.DataContext>

 

3、事件触发,以窗口的大小改变事件为例  SizeChanged

<Interactivity:Interaction.Triggers>        

<Interactivity:EventTrigger EventName="SizeChanged">            

<Interaction:CallMethodAction TargetObject="{Binding}" MethodName="SizeChangedCommand"/>        

</Interactivity:EventTrigger>

< /Interactivity:Interaction.Triggers>

 

在Viewmodel中

public class MainWindowViewModel

 {

  public void SizeChangedCommand(object obj, SizeChangedEventArgs e){}

}

 

正在研究是否适合自己所用...

WPF MVVM 如何在ViewModel中操作View中的控件事件

原文:http://www.cnblogs.com/ouylvr0625/p/6962575.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!