【duanzilin】TabControl怎样绑定ObservableCollection<ViewModelBase>?
这是我用WPF做出的效果:
WPF TabControl的ItemsSource绑定的是ObservableCollection<ViewModelBase>, ViewModelBase是ViewModelA、ViewModelB的共同父类。
就像上次我在http://topic.csdn.net/u/20110810/08/a44cdde1-db9a-412b-97ab-ada72cf746af.html提到的那样,可以通过
<DataTemplate DataType="{x:Type vm:ViewModelA}"> <vw:ViewA /></DataTemplate><DataTemplate DataType="{x:Type vm:ViewModelB}"> <vw:ViewB /></DataTemplate><ItemsControl ItemsSource="{Binding Workspaces}"> <ItemsControl.ItemTemplate> <DataTemplate> <prism:DataTemplateSelector Content="{Binding}"> <prism:DataTemplateSelector.Resources> <DataTemplate x:Key="ViewModelA"> <vw:ViewA DataContext="{Binding}" /> </DataTemplate> <DataTemplate x:Key="ViewModelB"> <vw:ViewB DataContext="{Binding}" /> </DataTemplate> </prism:DataTemplateSelector.Resources> </prism:DataTemplateSelector> </DataTemplate> </ItemsControl.ItemTemplate></ItemsControl>