動的に入力された で正しいDataContextforにアクセスするのに問題があります。TabItemsTabControl
以下のコードを使用して、 my のをItemsSourcemy のTabControlにバインドします。ObservableCollection<TabViewModel>MainViewModel
のそれぞれのTypeプロパティに基づいて、異なるが のプロパティとして選択されます。これがうまくいかないのはここからですTabViewModelItemSourceUserControlContentTabItem
これらは に設定するUserControls必要がありますが、ダイナミックが別のビジュアル ツリーで作成されているように見えるため、これにアクセスすることはできません。DataContextMainViewModelTabItems
<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私がそれを助けることができるなら、私は本当にデータを参照する必要はありません。