目前我正在使用 MVVM 学习 WPF,并且可能有一个疯狂的想法......
我有几个简单的类:
public class Car : IProduct
{
public int Id {get;set;}
public string Brand {get;set;}
// some custom properies
}
public class Seat : IProduct
{
public int Id {get;set;}
public string Brand {get;set;}
// some custom properties
}
想法是我对不同的模型有一个编辑器视图。
public class ProductViewModel<T> : ViewModelBase, IProductViewModel<T> where T : IProduct
{
private T m_editorModel;
public T EditorModel
{
get { return m_editorModel; }
set
{
m_editorModel = value;
RaisePropertyChanged(() => EditorModel);
}
}
public Type ModelType
{
get { return typeof(T); }
}
}
哪个可以后记设置查看DataContext
viewModel = ViewModelFactory.CreateViewModel<IProductViewModel<Car>>();
view = ViewFactory.CreateView<ProductView>();
view.DataContext = viewModel;
// etc...
问题是我不知道是否有可能或如何在运行时创建同一对象 EditorModel 的 ObservableCollection。
为每个类创建它自己的视图和视图模型或完全不同的东西可能更容易吗?