0

私は Prism を使用した WPF を初めて使用し、MVVM パターンを初めて使用します。現在、私のアプリケーションは 3 つの部分に分割されています。

  • MainApp (Bootstrapper とシェルを含む)
  • MainApp.Core (CoreModule、ビュー、ViewModel を含む)
  • MainApp.Data (EF CodeFirst クラス、リポジトリ、UnitOfWork を含む)

私のシェルには、「MainRegion」と「SideBarRegion」の領域が必要です。SideBarRegion には、それぞれが Command をトリガーする 2 つのボタンがあるシンプルなビューがあります。コマンドを使用して、「MainRegion」にビューをロードします。

現在、私の CoreModule.cs クラスには、ビューをロードするためのメソッドが含まれています。

private void LoadView(string regionName, object newView)
        {
            IRegion region = _RegionManager.Regions[regionName];
            var oldViews = region.Views;
            foreach (UserControl oldView in oldViews)
            {
                region.Remove(oldView);
            }
            region.Add(newView);
            region.Activate(newView);
        }

しかし、RegionManager が必要なため、ViewModel からこのメソッドを使用することはできません。

そこで、少しググって、Event Aggregator でこの問題を解決する方法を見つけました。この解決策が良いものかどうかはわかりませんが、誰かが教えてくれることを願っています.

たとえそれが良い解決策だったとしても、Prism の EventAggregator の使い方がわかりません。EventAggregator を使用してビュー間を移動するための適切なヘルプが見つかりません。

誰でも私を助けることができますか?どうすれば問題を解決できますか?

挨拶

4

0 に答える 0