使用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");
}
}
}
}