プログラムを中心とした個人的なメモ用のブログです。 タイトルは迷走中。
内容の保証はできませんのであしからずご了承ください。

2018/02/22

Prism で ViewModel から View への通知を行う

event_note2018/02/22 7:27

Prism の Messenger を使って ViewModel から View に通知を行う方法です。

WPF アプリケーションで試してみました。

環境

  • Visual Studio 2017
  • .NET Framework 4.6.1

実装

Messenger クラスの作成

EventAggregator を継承した Messenger クラスを作成します。

using Prism.Events;

namespace ViewModels
{
    class Messenger : EventAggregator
    {
        public static Messenger Instance { get; } = new Messenger();
    }
}

ViewModel からの送信

PubSubEvent で渡したいデータの型を指定します。

using Prism.Events;
Messenger.Instance.GetEvent<PubSubEvent<string>>().Publish("hoge");

View で受信

コードビハインドで受信します。

using Prism.Events;
Messenger.Instance.GetEvent<PubSubEvent<string>>().Subscribe(x => {
    Console.WriteLine(x);
});

参考 URL