我正在开发一个 WPF 应用程序,我使用 Caliburn-Micro 来处理 MVVM 管道。我使用 CM 中的事件聚合器来监听导航事件。目前,事件之间没有任何共性。所以我有一个 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 message),然后归结为大量的 IF 语句。它会工作,但是呃。
关于如何解决这个问题的任何建议?