我需要为tabcontrol创建Tabitems类型。 每个选项卡将具有不同的内容和功能(Xaml和代码隐藏)。 例如,我想创建: *客户详细信息选项卡 - 包含客户细节字段。 *配置选项卡 - 用于配置应用程序的字段。 *统计选项卡 - 包含统计信息的表格和图表。
有时每个tabitem类型的两个或三个选项卡将打开。 我不想一次又一次地为同一个客户选项卡或其他选项粘贴TabItem.Content。 我想制作一种标签。
创建此类tabitem类型的最佳方法是什么?
答案 0 :(得分:2)
通常我将TabItemViewModels
存储在ParentViewModel
中,并使用DataTemplate
来定义每个ViewModel的显示方式。
<Window.Resources>
<DataTemplate DataType="{x:Type local:CustomerDetailsViewModel}">
<local:CustomerDetailsView />
</DataTemplate>
<DataTemplate DataType="{x:Type local:ConfigurationViewModel}">
<local:ConfigurationView />
</DataTemplate>
<DataTemplate DataType="{x:Type local:StatisticsViewModel}">
<local:StatisticsView />
</DataTemplate>
</Window.Resources>
<TabControl ItemsSource="{Binding TabList}" SelectedItem="{Binding SelectedTab}" />