Search code examples
c#wpfdatatriggerimultivalueconvertermultiparameter

How to Pass multiple parameter in Multivalue Converter Over WPF DataTrigger


I'm having four int Property ProOne, ProTwo, ProThree and ProFour

I have to Implement the Boolean Logic ((ProOne == ProTwo) || (ProThree == ProFour)) in the Multivalue Converter namely VisibilityCheckConverter. Based on the Logic the Multivalue Converter VisibilityCheckConverter returns True or False.

Now I need to pass the four properties to the Converter over DataTrigger, Based on the Value, I have to change the Buttons Visibility to Visible

How does one write the a DataTrigger using Multivalue Converter with multiple parameters?

Sample Piece of XAML Code:

<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>

Solution

  • You can do something like this

    <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>