3

スタイルを持つカスタム コントロールがあります。コントロールはビューモデルのプロパティにバインドされています

<controls:PromoAlarmBox Content="{Binding Controller.IOGRP1W.Value}"/>

バインドされた値に応じてコントロールの色を変更するデータトリガーを作成したいのですが、これは機能します

<Style TargetType="{x:Type local:PromoAlarmBox}">          
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="ContentControl">
                    <Rectangle x:Name="PART_rectangle" VerticalAlignment="Stretch" Fill="Yellow" Stroke="Black" Height="20" Width="20"/>

                    <ControlTemplate.Triggers>
                            <DataTrigger Binding="{Binding Controller.IOGRP1W.Value, UpdateSourceTrigger=PropertyChanged}" Value="1">

                            <Setter Property="Fill" TargetName="PART_rectangle" Value="Red" />

                        </DataTrigger>
                    </ControlTemplate.Triggers>    
                </ControlTemplate>
            </Setter.Value>
        </Setter>           
    </Style>

ここまでは順調ですね。コントロールがバインドされているのと同じプロパティをデータトリガーで参照すると、機能させることができます。私の問題は、同じコントロールの複数のインスタンスが異なる値にバインドされており、それぞれに新しいスタイルを作成したくないため、データトリガーでコントロールのバインドされた値にバインドするにはどうすればよいかということです.

4

3 に答える 3

-1

ターゲットの動作を実現するには、PriorityBinding を使用する必要があります

于 2013-06-27T08:09:34.903 に答える