作用:属性值变化时就会触发注册的函数。
需要将属性通知RaisePropertyChanged中的broadcast参数设为true。

public MainWindow()
InitializeComponent();
Messenger.Default.Register<PropertyChangedMessage<string>>(this, (o) =>
if (o.PropertyName == "MyProperty")
});
public ICommand TestCommand
if (_testCommand == null)
_testCommand = new RelayCommand(() =>
this.MyProperty = "123";
this.VVV = "123";
});
return _testCommand;
private string myVar;
public string MyProperty
get { return myVar; }
myVar = value;
this.RaisePropertyChanged<string>("MyProperty", "1", "2", true);
private string _fvv;
public string VVV
get { return _fvv; }
_fvv = value;
this.RaisePropertyChanged<string>("VVV", "1", "2", true);
简介GalaSoft.MvvmLight.Messaging:消息类,提供全局的消息通知,可以理解为全局的Event事件, 主要对象:MessengerNotificationMessagesh
MVVM Light Messenger的使用
参见文章:https://msdn.microsoft.com/zh-cn/magazine/dn745866.aspx
MVVM Light Messenger 旨在通过简单的前提来精简此场景:任何对象都可以是接收端;任何对象都可以是发送端;任何对象都可以是消息。
使用如下:
1.使用默认的 Messenger 并检查发送端
publ...
主要命名空间:
GalaSoft.MvvmLight:最顶层的命名空间,MvvmLight的主体,核心功能
主要对象:ObservableObject、ViewModelBase(实现数据通知相关的内容)、ICleanup
GalaSoft.MvvmLight.Command:主要包含依赖命令的定义
主要对象:RelayCommand、RelayCommand<> 对Icommand的封装
GalaSoft.Mvv
当我们使用MVVM开发模式进行开发时,ViewModel之间的通信常常是很头疼的事情,好在MVVM Light提供了Messenger类可以轻松的在ViewModel之间传递消息。
Messenger
Messenger 其他类成员可以通过Register 方法 来建立与Messenger的联系,注册时包含当收到Message的时候要执行的方法。当使用Send方法时,注册的相关的方法将会被...
Messenger中文解释为信使的意思,顾名思义,在MvvmLight中,它的主要作用是用于View和ViewModel、ViewModel和ViewModel之间的通信。
考虑以下场景:
现在有一个主窗体,主窗体上有一个按钮,点击按钮的时候,弹出一个子窗体,用于实时的往主窗体上添加新的项。
这时候Messenger就发挥其强大的威力了。
Messenger类的主要交...
MVVM Light 是一个开源的 MVVM (Model-View-ViewModel) 框架,用于开发 Windows 平台的应用程序。它的主要优点在于简洁易用、轻量级,支持 WPF、Silverlight、Windows Phone、Windows 8/8.1、Windows 10 UWP 等平台。
下面是一个简单的 MVVM Light 使用教程:
1. 首先,安装 MVVM Light 框架。可以通过 NuGet 包管理器安装,命令如下:
Install-Package MvvmLight
2. 在项目中添加一个 ViewModel 类。这个类会绑定到 View 上。
3. 编写 View 的 XAML 代码。在根元素上添加 DataContext 属性绑定到 ViewModel。
4. 编写 ViewModel 类中的逻辑代码。这些代码会更新 View 的状态。
5. 在 View 的 XAML 代码中添加绑定。例如,将一个文本框的 Text 属性绑定到 ViewModel 中的一个属性上。
6. 在 ViewModel 中使用命令来处理 View 上的用户交互。
7. 按照需要使用其他 MVVM Light 的功能,例如消息传递、导航、本地化等。
最后,我需要提醒你 MVVM 是一种模式,不同的框架可能有不同的实现,每种框架都有它的优缺点,需要根据自己的需求来选择合适的框架.