0
<MultiDataTrigger>
    <MultiDataTrigger.Conditions>
        <Condition>
            <Condition.Binding>
                <MultiBinding Converter="{StaticResource BooleanOr}">
                    <Binding Path="Property Value =5"/>
                    <Binding Path="Property Value =10"/>
                </MultiBinding>
            </Condition.Binding>
        </Condition>
    </MultiDataTrigger.Conditions>

///条件に基づいてここで何かを行います....

コードは、Value が 5 または 20 に等しい場合 ===> 何かを行うことを意味します。

マルチトリガーのためにこれをフォローしました

しかし、"Binding Path="Property Value =5""この行は明らかに間違っています。

値が 5 かどうかを比較するには、ここに何を書けばよいでしょうか。ありがとうございます。

4

2 に答える 2

0

複数の条件がない場合は、は必要ありませんMultiDataTrigger

値と比較したい場合は、がその値に設定されているコンバーターBinding.ConverterParameterを使用できます。コンバーターは、値とパラメーターを比較するだけです(パラメーターがとして渡されない場合は、パラメーターに解析が適用される可能性がありますint

もちろん、プロパティパス以外のものは入れないでくださいPath。コンバーターは直接戻る必要があります。trueまたはfalse、これはおそらくによって予想されるとおりですMultiBinding.Converter

于 2012-01-11T03:02:33.677 に答える
0

ある値が比較対象の値と等しいかどうかを確認するには、別のコンバーターが必要です

<MultiBinding Converter="{StaticResource BooleanOr}">
    <Binding Path="Value" ConverterParameter="5" Converter="{StaticResource IsValueEqualParameterConverter}" />
    <Binding Path="Value" ConverterParameter="10" Converter="{StaticResource IsValueEqualParameterConverter}" />
</MultiBinding>

別のオプションは、使用することですDataTriggers

<Style>
    <Setter Property="SomeProperty" Value="FalseValue" />
    <Style.Triggers>
        <DataTrigger Binding="{Binding Value}" Value="5">
            <Setter Property="SomeProperty" Value="TrueValue" />
        </DataTrigger>
        <DataTrigger Binding="{Binding Value}" Value="10">
            <Setter Property="SomeProperty" Value="TrueValue" />
        </DataTrigger>
    </Style.Triggers>
</Style>
于 2012-01-11T17:20:31.133 に答える