2012-01-11 11 views
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> 

を比較.... はこちら条件に基づいて何かをする///マルチトリガーの値と結合

コードは、値が5または20をeqaulsとき===>何かをする意味。

私は、この行は明らかに間違っているマルチトリガ

しかし"Binding Path="Property Value =5""ためthis 1に従いました。

値を比較するにはここをクリックしてください値は5かどうか ありがとうございます!

答えて

0

あなたは実際に私はの多​​くを持っている別のオプションは、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> 
0

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

値と比較したい場合は、Binding.ConverterParameterが上記の値に設定されているconverterを使用できます。コンバータはちょうど当然のPathにプロパティパス以外のものを置かないでください(それはintとして渡されていない場合は、おそらく解析でパラメータに適用される)

を値とパラメータを比較します。コンバータはtrueまたはfalseを直接返す必要があります(おそらくMultiBinding.Converterによって予期される)。

+0

を使用することです

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

に対して一つの値がどのような値に等しい場合は、比較している見るために別のコンバータが必要になります比較する。私は実際に0から20までの値のときにアクションをトリガーしたい。これを行う方法のコード例をいくつか教えていただけますか?ありがとう。 –

+0

@AndersLind:もし私がリンクされている参照を見てコンバータの例を必要とする場合、私はしません。また、値を比較して文字列をパースすることもほとんど必要ありません。もし、そうであれば、すべてのプリミティブ型について見つけることができる 'Parse'メソッドと' TryParse'メソッドを見たいかもしれません。 –

関連する問題