動的に入力された で正しいDataContext
forにアクセスするのに問題があります。TabItems
TabControl
以下のコードを使用して、 my のをItemsSource
my の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
私がそれを助けることができるなら、私は本当にデータを参照する必要はありません。