根据所选选项卡设置按钮的可见性

本文关键字:设置 按钮 可见性 选项 | 更新日期: 2023-09-27 18:25:52

我有一个按钮和一个带有一些选项卡的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>

根据所选选项卡设置按钮的可见性

因为您想绑定到应用程序中另一个元素的属性,所以应该像这样使用Binding.ElementName PropertyPath

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