I have two inner views which I display conditionally as below
<TabControl>
<TabItem Header="TabItem" >
<TabItem.Style>
<Style TargetType="TabItem">
<Style.Triggers>
<DataTrigger Binding="{Binding Condition}" Value="True">
<Setter Property="Content">
<Setter.Value>
<view:PaneView1 />
</Setter.Value>
</Setter>
</DataTrigger>
<DataTrigger Binding="{Binding Condition}" Value="False">
<Setter Property="Content" >
<Setter.Value>
<view:PaneView2 />
</Setter.Value>
</Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</TabItem.Style>
</TabItem>
</TabControl>
I now add DataContext in each view as below which is the property of my main ViewModel
<view:PaneView2 DataContext="{Binding PaneView2DC}"/>
The problem is that if I call PaneView2 with the datacontext without datatriggers it works fine but not inside the datatrigger. When I check the inner view's InitializeComponent, the Datacontext is null. Could someone please explain and help?