複数のDataTriggersが上書きされます -- c# フィールド と wpf フィールド と xaml フィールド と datatrigger フィールド 関連 問題

Multiple Datatriggers overwrite












0
vote

問題

日本語
<事前> <コード> <Style.Triggers> <DataTrigger Binding="{Binding Result.IsRejected}" Value="True"> <Setter Property="Foreground" Value="Green"/> </DataTrigger> <DataTrigger Binding="{Binding Result.RilibakViolation}" Value="True"> <Setter Property="Foreground" Value="Red"/> </DataTrigger> <DataTrigger Binding="{Binding Result.RilibakViolation}" Value="False"> <Setter Property="Foreground" Value="{DynamicResource ControlsForegroundColor}"/> </DataTrigger> <DataTrigger Binding="{Binding Result.IsViolated}" Value="True"> <Setter Property="Foreground" Value="Red"/> </DataTrigger> <DataTrigger Binding="{Binding Result.IsViolated}" Value="False"> <Setter Property="Foreground" Value="{DynamicResource ControlsForegroundColor}"/> </DataTrigger> <DataTrigger Binding="{Binding Result.ResultIncluded}" Value="False"> <Setter Property="Foreground" Value="IndianRed"/> </DataTrigger> </Style.Triggers>

このコードは、その結果オブジェクトのさまざまなプロパティに従って前景色を変更しようとしました。私の問題は、最後の3つの作業だけで、拒否されたか、またはライリバチェックがうまくいかないことです。 EX:最初のものが真実であっても緑色は表示されません。このコードのための別のアプローチは、このようなすべてのケースで機能するようにしますか?

英語
<Style.Triggers>         <DataTrigger Binding="{Binding Result.IsRejected}" Value="True">             <Setter Property="Foreground" Value="Green"/>         </DataTrigger>         <DataTrigger Binding="{Binding Result.RilibakViolation}" Value="True">             <Setter Property="Foreground" Value="Red"/>         </DataTrigger>         <DataTrigger Binding="{Binding Result.RilibakViolation}" Value="False">             <Setter Property="Foreground" Value="{DynamicResource ControlsForegroundColor}"/>         </DataTrigger>         <DataTrigger Binding="{Binding Result.IsViolated}" Value="True">             <Setter Property="Foreground" Value="Red"/>         </DataTrigger>         <DataTrigger Binding="{Binding Result.IsViolated}" Value="False">             <Setter Property="Foreground" Value="{DynamicResource ControlsForegroundColor}"/>         </DataTrigger>         <DataTrigger Binding="{Binding Result.ResultIncluded}" Value="False">             <Setter Property="Foreground" Value="IndianRed"/>         </DataTrigger>      </Style.Triggers> 

I have this code where i tried to change the Foreground color according to different properties of that Result object. My problem is that only the last 3 work and IsRejected or RilibakViolation do not work. Ex: even if the first one is true it will be not displayed green. Is there another approach for this code to make it works in all this cases?

</div
           
 
 

回答リスト

0
 
vote

良い方法は、マルチコンバータを作成し、必要なすべてのプロパティを渡すことです(拒否された、ライリバコキオレーション、isviolatedなど)。コンバータはパラメータを受け取り、どの色を返すかを決定します。

そのようにして、モデル内のプロパティを変更するたびに、コンバータが起動され、それに応じてフォアグラウンドが変更されます。

 

A good way will be to create a MultiConverter and pass all the necessary properties (IsRejected, RilibakViolation, IsViolated etc.). The converter will receive the parameters and than decide which color to return.

In that way, each time a property in the model is changed, the converter is activated and the Foreground is changed accordingly.

</div
 
 

関連する質問

0  WPF DataTriggerとUIディスパッチャー  ( Wpf datatrigger and ui dispatcher ) 
メソッド呼び出しでプロパティ値を複数回更新しています。 My UI要素はデータプロパティにバインドされ、My ViewModelはInotifyPropertyChened実装されています。 UI値を更新するようにデータトリガーが設定されています。メソッド呼び...

0  DataTriggerのTemplateBinding BackgroundプロパティのためのColorAnimation  ( Coloranimation for templatebinding background property on datatrigger ) 
以下のように、<コード> Template のボタンを持っています。 <事前> <コード> <Button> <Button.Style> <Sty...

1  ComboBoxからSelectedValueに基づいてUserControlのバックグラウンドを変更する  ( Changing usercontrol background based on selectedvalue from combobox ) 
私がやろうとしていること:私は私のコンボボックスと一緒に使うバックグラウンドで個人プロファイルのリストがあります。トリガーは、人の性別に基づいて背景を変更することです(Bool Role.isFemale)。コード内のSelectionChangeDevent...

32  MultiDatatrigger VS DataTriggerをマルチビンディング  ( Multidatatrigger vs datatrigger with multibinding ) 
<コード> DataTrigger を使用して、<コード> MultiDataTrigger 、あるいは交互に、<コード> DataTrigger を使用して、同じ機能を簡単に実現できる状況に遭遇しました。 。もう1つのアプローチを好む実質的な理由はあります...

1  XAMLのDynamicResourceスタイルとDataTriggerを使用する  ( Using dynamicresource style and datatrigger for button in xaml ) 
<コード> Style="{DynamicResource SquareButtonStyle}" のような定義済みスタイルを使用しています。 を変更することはできず、<コード> Button を介して<コード> PipedInputStream0 を有効...

2  DataTriggerがボタンを表示させる  ( Datatrigger causing button to be misaligned ) 
このスタイルを取り外すときは正しく表示されます。そうでない場合は、続けてすべての他のボタンを約5ピクセルだけ押します。 <事前> <コード> <Button.Style> <Style TargetType="Button"> <Sty...

9  テーブルの挿入、削除&更新時のSQL Serverトリガ  ( Sql server trigger on insert delete update on table ) 
テーブル<コード> Product と別の表<コード> ProductLog 。 ログテーブルは、 9988777662 テーブル内の2列を追跡する必要があります。それらの列に挿入、更新、または削除があるたびに、ログテーブルを更新する必要があります。 3つ...

1  image.Sourceプロパティを変更する必要がある画像のDataTriggerが機能しない  ( Datatrigger on an image that should change the image source property does not wo ) 
私はこの下記のように: <コード> <Button Command="Play" ToolTip="Execute Macro"> <Image DataContext="{Binding Element...

171  値がnullではないDatatrigger?  ( Datatrigger where value is not null ) 
値がNULLかどうかを確認することをチェックするセッターを作成できることを知っています。例: <事前> <コード> <TextBlock> <TextBlock.Style> <Style> <Style.Triggers> ...

2  新しいアニメーションが起動すると、WPFの停止とリバースストーリーボードのアニメーション  ( Wpf stop and reverse storyboard animation when new animation starts ) 
私はボタンの背景色を(逆に)アニメートする2つのDatatriggerを持っています、この部分は大丈夫です。 問題は、2つのトリガーが重なり時間で発射されると、最初のトリガーが発生しても色を逆にしませんが、前のアニメーションが停止したときに色が逆になります。私...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有