我无法使用动态填充DataContext的.TabItemsTabControl
使用下面的代码,我将 my 绑定到ItemsSourcemy上TabControl的一个.ObservableCollection<TabViewModel>MainViewModel
根据Type中每个的属性,TabViewModel选择ItemSource不同UserControl的作为 的Content属性TabItem。正是在这里开始出错
这些UserControls需要将其DataContext设置为MainViewModel,但是无法访问它,因为动态TabItems似乎是在不同的可视化树中创建的。
<TabControl x:Name="mainTabControl" ItemsSource="{Binding TabList}">
<TabControl.ItemContainerStyle>
<Style TargetType="TabItem">
<Setter Property="Header" Value="{Binding Name}" />
<Style.Triggers>
<DataTrigger Binding="{Binding Path=Type}" Value="Summary" >
<Setter Property="Content">
<Setter.Value>
<views:AnalysisArisingSummaryControl />
</Setter.Value>
</Setter>
</DataTrigger>
<DataTrigger Binding="{Binding Path=Type}" Value="User Defined" >
<Setter Property="Content">
<Setter.Value>
<views:AnalysisUserDefinedControl />
</Setter.Value>
</Setter>
</DataTrigger>
<DataTrigger Binding="{Binding Path=Type}" Value="System Defined" >
<Setter Property="Content">
<Setter.Value>
<views:AnalysisSystemDefinedControl />
</Setter.Value>
</Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</TabControl.ItemContainerStyle>
</TabControl>
关于如何实现这一点的任何想法。ViewModels如果我能提供帮助,我真的不想在两者之间引用数据。