私は WPF アプリケーションを開発しており、MVVM 配管を処理するために Caliburn-Micro を使用しています。CM で Event Aggregator を使用して、ナビゲーション イベントをリッスンします。現在、イベント間に共通点はありません。したがって、OrderNavigationEvent、QuoteNavigationEvent、PriceBookNavigationEvent などがあります...
いくつかの列挙型に沿って、必要なナビゲーション イベントのさまざまな型をすべて持つ一般的な NavigationEvent クラスを作成することを考えました。何かのようなもの:
public enum NavigationDestinations
{
Orders,
Quotes,
PriceBook
}
public enum NavigationOptions
{
Open,
New,
Listing
}
public class NavigationEvent
{
public NavigationDestinations NavigationDestination {get; set;}
public NaviationOptions NavigationOption {get; set;}
public int Id {get; set;}
}
そして、Handle(NavigationEvent メッセージ) をセットアップできます。これは、IF ステートメントの膨大なコレクションになります。それはうまくいくでしょうが、うーん。
この問題にどのようにアプローチできるかについて何か提案はありますか?