我有一张桌子
ID Name
1 New York
2 California
3 Maine
4 Ohio
5 Washington
我可以根据用户传入的ID找到匹配项。
但是我希望能够根据传入的ID调用WPF视图。
如何避免编写长开关语句?
答案 0 :(得分:1)
我不确定您是否理解您的问题,但如果您需要能够针对特定城市调用特定视图,则最简单的方法是将这些信息存储在您的数据中。您可以向cities表中添加一列,或者创建另一个要加入的表,其中包含该城市是否应该获得自定义视图。从那里,使用反射来旋转你需要的视图。
答案 1 :(得分:0)
制作字典
Dictionary<int,View> dictionary=new Dictionary<int,View>();
dictionary.Add(1,new NewYorkView());
dictionary.Add(2,new California());
或只是一个列表
Type[] viewTypes=new Type[null,typeof(NewYorkView),typeof(CaliforniaView),,,,,];
当您收到ID时:
dictionary[ID].Show();