1

5 つのラジオ ボタンがあり、それらはすべて共通のスタイルですが、色が異なります。スタイルはすべて分離されています。メイン スタイルを作成し、それぞれの背景色を個別に変更できるようにしたいと考えています。

4

1 に答える 1

0

テンプレートを共通の基本スタイル (例: RadioButtonBaseStyle) で定義します。背景色をハードコーディングせず、{TemplateBinding Background}代わりに ;を使用します。次に、セッターでプロパティをRadioButtonBaseStyle変更した場所に基づいて、いくつかのスタイルを作成します。Background

例:

<Style x:Key="RadioButtonBaseStyle" TargetType="RadioButton">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="RadioButton>
                ...
                <Ellipse Fill="{TemplateBinding Background}" />
                ...
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

<Style x:Key="BlueRadioButtonStyle" TargetType="RadioButton" BasedOn="{StaticResource RadioButtonBaseStyle}">
    <Setter Property="Background" Value="Blue" />
</Style>

より細かい制御が必要な場合は、次のブログ投稿で説明されているように、追加の添付プロパティを作成して、標準のBackground/ Foreground/の代わりに使用できます。 -styles-with-attached-properties/BorderBrush

于 2013-11-02T14:43:23.893 に答える