我有一个Button和一个带有一些Tabs的TabControl。如果选择了第二个选项卡,我想隐藏按钮。这是我的方法,但如果单击第二个选项卡,按钮不会消失。可能有什么不对?
<Button Content="New" x:Name="NewButton">
<Button.Style>
<Style TargetType="Button">
<Style.Triggers>
<DataTrigger Binding="{Binding TabMainControl.SelectedIndex}" Value="1">
<Setter Property="Visibility" Value="Hidden" />
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
<TabControl TabStripPlacement="Top" x:Name="TabMainControl">
<TabItem Header="Name" x:Name="NameTab">...</TabItem>
<TabItem Header="Code" x:Name="CodeTab">...</TabItem>
<TabItem Header="Maleware" x:Name="MalewareTab">...</TabItem>
<TabItem Header="Custom" x:Name="CustomTab">...</TabItem>
</TabControl>
答案 0 :(得分:8)
因为您要绑定到应用程序中其他元素的属性,所以应该使用Binding.ElementName Property
和Path
,如下所示:
<DataTrigger Binding="{Binding ElementName=TabMainControl, Path=SelectedIndex}" Value="1">
<Setter Property="Visibility" Value="Hidden" />
</DataTrigger>