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