目前我正在学习用WPF MVVM,并有可能一个疯狂的想法...WPF MVVM一个视图中的多个对象类型
我有几个简单的类:
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...
的问题是,我不知道是否有可能或如何在运行时创建 的ObservableCollection同一对象EditorModel的。
为每个类创建它自己的视图和viewmodel或者完全不同的东西可能更容易吗?
是否在您的ProductViewModel类中添加ObservableCollection ?您的问题与您的potiential ObservableCollection将包含不同类型的对象但绑定到相同控件的事实有关吗? –
AirL
是的。 ObservableCollection应该在某些listview控件中可见。也许我很累我没有注意到我可以做'公开ObservableCollection SomeModels = new ObservableCollection ();'。现在要绑定他们来查看;) –
Tomislav