我有一個返回類型爲BaseItem的數組的服務。 BaseItem有N個子類型。我正在使用視圖模型在我的WPF應用程序(Prism,MVVM)中使用此服務。在這個視圖模型的構造函數中,我填充了一個可觀察的BaseItem類型的集合:使用Prism根據對象類型將視圖注入到ItemsControl中
public CurrentViewModel(IDataService dataService)
{
_dataService = dataService
var baseItems = _dataService.GetAllItems(); // there are many kinds of BaseItems
_baseItems = new ObservableCollection<BaseItem>(baseItems.ToList());
}
到目前爲止好。在我的CurrentView
中,我有一個ItemsControl
綁定到這個集合。在這個控件中,我想通過使用另一個View
(及其視圖模型)來渲染每個BaseItem
。
到現在爲止,我不能使用DataTemplateSelector
因爲我不能在它定義每個DataTemplate中,我加載N個模塊(包含從BaseItem
繼承的類)和PRISM dinamically加載它們從特定的文件夾。
我正在使用視圖模型第一種方法,還有什麼其他的替代方案,我必須實現該方案?
http://stackoverflow.com/questions/5693863/inject-views-into-itemscontrol-depending-on-object-type是不是重複? – abatishchev
也請[從您以前的帖子](http://stackoverflow.com/questions/11335884/view-injection-inside-itemscontrol)學習如何寫問題標題,以及如何不在那裏使用標籤。 – abatishchev