当其他两个控件已被隐藏时,如何隐藏控件?

时间:2013-06-12 13:32:17

标签: wpf wpf-controls

我有一行和三列的WPF网格:

Label1 | control1 |控制2

我想在隐藏两个控件时将Label1可见性设置为隐藏:

在XAML中执行此操作的简单方法是什么?

1 个答案:

答案 0 :(得分:2)

你可以在Label1.Visibility上使用Multibinding和MultiConverter来完成这项工作

或者您为Label1使用样式触发器并将初始可见性设置为隐藏,并使用2个触发器将可见性设置为可见,如果其中一个控件可见

修改

    <Label x:Name=Label1>
        <Label.Style>
            <Style TargetType="Label">
                <Setter Property="Visibility" Value="Hidden"/>
                <Style.Triggers>
                    <DataTrigger Binding="{Binding ElementName=ctl1, Path=Visibility}" Value="Visible">
                        <Setter Property="Visibility" Value="Visible"/>
                    </DataTrigger>
                    <DataTrigger Binding="{Binding ElementName=ctl2, Path=Visibility}" Value="Visible">
                        <Setter Property="Visibility" Value="Visible"/>
                    </DataTrigger>
                </Style.Triggers>
            </Style>
        </Label.Style>
    </Label>