2015-12-07 28 views
3

我有一个按钮和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> 

回答

8

因为你要绑定到应用程序中的另一个元素的属性,你应该使用Binding.ElementName PropertyPath这样的:

<DataTrigger Binding="{Binding ElementName=TabMainControl, Path=SelectedIndex}" Value="1"> 
    <Setter Property="Visibility" Value="Hidden" /> 
</DataTrigger> 
相关问题