码迷,mamicode.com
首页 > Windows程序 > 详细

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

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

标签:wpf   comm   提示   void   参考   tar   mvvm   exp   change   

(在学习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中的控件事件

标签:wpf   comm   提示   void   参考   tar   mvvm   exp   change   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!