我有GroupBox
。此框包含一个UserControl
<GroupBox Header="NewsBox">
<GroupBox.Content>
<NewsDay:NewsDayControl DataContext="{Binding SelectedNews}"/>
</GroupBox.Content>
</GroupBox>
现在,我想根据GroupBox
的所选标签动态更改TabControl
的内容。
<DataTrigger Binding="{Binding ElementName=TabControl, Path=SelectedIndex}" Value="0">
<Setter Property="Visibility" Value="Hidden" />
</DataTrigger>
如果选择了带索引1的制表符,那么这是应出现的另一个UserControl
:
<Imprint:ImprintControl DataContext="{Binding SelectedImprint}"/>
我该怎么做?
答案 0 :(得分:3)
您可以将Style
与此类触发器一起使用。
<GroupBox Header="NewsBox">
<GroupBox.Style>
<Style TargetType="GroupBox">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=TabControl, Path=SelectedIndex}" Value="0">
<Setter Property="Content">
<Setter.Value>
<NewsDay:NewsDayControl DataContext="{Binding SelectedNews}"/>
</Setter.Value>
</Setter>
</DataTrigger>
<DataTrigger Binding="{Binding ElementName=TabControl, Path=SelectedIndex}" Value="1">
<Setter Property="Content">
<Setter.Value>
<Imprint:ImprintControl DataContext="{Binding SelectedImprint}"/>
</Setter.Value>
</Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</GroupBox.Style>
</GroupBox>