How to Pass multiple parameter in Multivalue Converter Over WPF DataTrigger

B.Balamanigandan picture B.Balamanigandan · Feb 8, 2016 · Viewed 8.5k times · Source

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>

Answer

Nikhil Agrawal picture Nikhil Agrawal · Feb 8, 2016

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>