1

UserControl に 3 つのグリッドがあり、そのうちの 1 つのコントロールが一度に表示されます。最後の列では、データをチェックして ForeGround カラーを適用する必要がある Style を使用する必要があります。を使用して、3 つのグリッドの各コントロールにスタイルを記述できますDataTriggers。しかし、どこでも使用できる Resource の具体的なスタイルが必要です。私は試しMultiDataTriggerましたが、2 つ以上の条件が true であることをチェックするのMultiDataTrigger.Conditionsに対し、1 つのコントロールでデータをチェックする必要があるため、目的を果たしません。これを達成するための代替ソリューションはありますか?

4

1 に答える 1

1

ある種のグリッドを使用している場合は、おそらく CellTemplate またはそのような他のプロパティを使用してタスクを実行しています。異なる列で異なるスタイルを使用する必要があると思います。

ただし、これらのスタイルがトリガーを除いて同じである場合は、両方に共通するすべてのものを使用して 1 つのスタイルを作成し、最初のスタイルに基づいて別のスタイルを作成できます。これは、OOP の継承に少し似ています。

これは次のようになります。

<Style x:Key="BaseStyle" TargetType=".....">
    <!-- Common setters and triggers -->
    <Setter ... />
    <Setter ... />
    <Setter ... />
</Style>

<Style x:Key="InheritedStyle" BasedOn="{StaticResource BaseStyle}" TargetType=".....">
    <!-- This style's specific setters and triggers -->
    <Setter ... />
    <Style.Triggers>
    ...
    <Style.Triggers>
</Style>
于 2010-02-01T19:30:23.823 に答える