目前我正在學習用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