2015-12-07 24 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> 
相關問題