因爲我的標題符合時髦詞我希望我會得到很多答案我的問題或任何指向正確的方向。Silverlight MVVM MEF ViewInjection
好吧,我通常做的是有一個ViewModel其中包含ViewModels本身的列表。
public class MasterViewModel
{
public ObservableCollection<DetailViewModel> DetailViewModels { get; set; }
public DetailViewModel Detail { get; set; }
}
<ItemsControl ItemsSource="{Binding DetailViewModels}">
<ItemsControl>
<ItemsPanelTemplate>
<StackPanel />
</ItemsPanelTemplate>
</ItemsControl>
<ItemsControl.ItemTemplate>
<DataTemplate>
<views:DetailsView />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
考慮到這一點,我現在來看看我的問題。我閱讀了關於MEF的很多好消息,並且看到了Glenn Block的儀表板樣本,但這並沒有幫到我。
我想要做的是sidbar(就像windows邊欄)。 邊欄=的StackPanel 時listItems =小工具
布提希望它MVVM風格
OK我有類似的合同
IGadget
一個我實現了一個自定義的出口。
[ExportGadget(GadgetType = GadgetTypes.News)]
我有我的NewsGadgetView.xaml(實現IGadget)和進口NewsGadgetViewModel,也使得本身可作爲ExportGadget。
迄今爲止好。有了這個,我可以創建一組小工具。
然後我有我的SidbarView.xaml導入sidebarViewModel。
,現在我迷路了......
我認爲像它使用PartCreator創建我的小玩意GadgetFactory。 但這會坐在我的SidebarView.xaml 但我想控制我的小工具來添加和從我的邊欄刪除它們。 所以我想到了類似的ObserveableCollection ...
對此我綁定到
的GadgetHost是basicaly電網將dynamicaly加載小工具...
那麼我將如何創建一個包含不同的工具欄我不知道這小工具可用,有一個視圖模型爲工具條以及爲每個小工具?...
感謝您的幫助....