Messenger.Default.Send()

使用WPF开发,Messenger.Default.Send()是非常适合不同View之间的控件交互,尤其是在MVVM模式下非常有用。

贴一个demo记录下,省得以后忘记。只是demo,只是demo。

要想使用这个功能,需要在引用里加上头文件 using GalaSoft.MvvmLight.Messaging;GalaSoft.MvvmLight.WPF4.dll 这个库;

namespace WpfApplication73
{
	/// <summary>
	/// MainWindow.xaml 的交互逻辑
	/// </summary>
	public partial class MainWindow : Window
	{
		//Messenger.Default.Register<string>(this, m => OpenRssFrame(m));
		public MainWindow()
		{
			this.InitializeComponent();

			// 在此点下面插入创建对象所需的代码。
			Messenger.Default.Register<string>(this, m => OpenRssFrame(m));
		}

		private void Button_Click(object sender, System.Windows.RoutedEventArgs e)
		{
			// 在此处添加事件处理程序实现。
			
			Messenger.Default.Send("RssFrame");
		}
		 private void OpenRssFrame(string str)
        {
            if (str.Contains("RssFrame"))
            {
              
				MessageBox.Show("1111111");
            }
        }
	}
}
原文地址:https://www.cnblogs.com/wainiwann/p/2112540.html