MVVM中View和ViewModel之间的绑定及关系

1、 View可以通过DataContext访问ViewModel

除了Binding以外,在一些Event触发的时候,在behind code里用这种方法,直接访问ViewModel。

2、绑定:

	1、在控件/窗体的资源中进行绑定
 <Window.DataContext>
	<viewModel:MyViewModel/>
 </Window.DataContext>
	2、在UI的构造函数中绑定:
Window.DataContext  = new  MyViewModel();

3、ViewModel和ViewModel之间通过Messenger类进行消息传递
Messager类的主要交互模式就是信息接受和发送(可以理解为“发布消息服务”和“订阅消息服务”),是不是想到观察者模式了,哈哈哈。

MVVM Light Messenger 旨在通过简单的设计模式来精简此场景:任何对象都可以是接收端;任何对象都可以是发送端;任何对象都可以是消息。

4、View和ViewModel之间的消息交互

在View和ViewModel中进行消息器注册,相当于订阅服务。包含消息标志、消息参数和消息执行方法。如下:

消息标志token:ViewAlert,用于标识只阅读某个或者某些Sender发送的消息,并执行相应的处理,所以Sender那边的token要保持一致

执行方法Action:ShowReceiveInfo,用来执行接收到消息后的后续工作,注意这边是支持泛型能力的,所以传递参数很方便。

这里是引用
MVVM中View和ViewModel之间的绑定及关系_第1张图片

你可能感兴趣的:(wpf)