如何通过 WPF 数据触发器在多值转换器中传递多个参数

本文关键字:参数 转换器 数据 WPF 触发器 何通过 | 更新日期: 2023-09-27 18:33:42

我有四个int属性ProOneProTwoProThreeProFour

我必须在多值转换器中实现布尔逻辑((ProOne == ProTwo) || (ProThree == ProFour)),即VisibilityCheckConverter。基于逻辑,多值转换器VisibilityCheckConverter返回TrueFalse

现在我需要通过 DataTrigger 将四个属性传递给转换器,根据值,我必须将按钮可见性更改为可见

如何使用具有多个参数的多值转换器编写数据触发器

XAML 代码的示例段:

<ControlTemplate.Triggers>
    <DataTrigger Property="{Binding , Converter={StaticResource VisibilityCheckConverter,ConverterParameter=ProOne ProTwo ProThree ProFour}}" Value="true">
        <Setter TargetName="Button" Property="Visibility" Value="Visible" />
    </DataTrigger>
</ControlTemplate.Triggers>

如何通过 WPF 数据触发器在多值转换器中传递多个参数

你可以做这样的事情

<Style.Triggers>
    <DataTrigger Value="True">
        <DataTrigger.Binding>
            <MultiBinding Converter="{StaticResource VisibilityCheckConverter}">
                <Binding Path="ProOne" />
                <Binding Path="ProTwo" />
                <Binding Path="ProThree" />
                <Binding Path="ProFour" />
            </MultiBinding>
        </DataTrigger.Binding>
        <Setter TargetName="Button" Property="Visibility" Value="Visible" />
    </DataTrigger>
</Style.Triggers>