在编写WPF应用程序时,我正在努力设计设计。这是一般性问题:
考虑一个需要跟踪一个人想要购买的抽象车辆列表的应用程序。使用MVVM设计,将不同的汽车类型(例如摩托车,汽车,卡车等)暴露给视图的最佳方式是什么,以便可以使用不同的形式显示和编辑每种车辆类型?
目前我有这个设置:
abstract class Vehicle { .. }
class Car : Vehicle { .. }
class Truck : Vehicle { .. }
class Cart {
ObservableCollection<Vehicle> Vehicles;
}
class VehicleViewModel { .. }
class CartViewModel {
ObservableCollection<VehicleViewModel> Vehicles;
}
通过这种设计,我不确定如何在我的购物车视图中为每种车辆类型创建DataTemplate
,因为CartViewModel
只包含VehicleViewModel
列表{1}}(而非CartViewModel
,TruckViewModel
等)。
有人可以指导我指导吗?