0

標準の RadioButton は、楕円の色の設定をサポートしていません。そこで、カスタム RadioButton の基礎として、この場所からラジオボタン テンプレートを取得しました: RadioButton スタイルとテンプレート

<Ellipse.Fill>
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
    <LinearGradientBrush.GradientStops>
        <GradientStopCollection>
            <GradientStop Color="{DynamicResource ControlLightColor}" />
            <GradientStop Color="{DynamicResource ControlMediumColor}" Offset="1.0" />
        </GradientStopCollection>
    </LinearGradientBrush.GradientStops>
</LinearGradientBrush>

ControlLightColor と ControlMediumColor は次のように定義されます。

<Color x:Key="ControlLightColor">#ffff9a</Color>
<Color x:Key="ControlMediumColor">#ffff9a</Color>

これにより、黄色がかった楕円が得られます。

コードビハインドでこの色を変更するにはどうすればよいですか?

よろしく、

ミシェル

4

2 に答える 2

0

これに従ってスタイルを作成します: コード ビハインドでスタイルを作成する

次に、それを element.Style に割り当てます

次の方法でリソースにアクセスすることもできます

Resources["mykey"]
于 2012-05-24T09:41:13.890 に答える
0

解決:

<Ellipse x:Name="Border" StrokeThickness="1" Fill="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}, Path=DataContext.RadioButtonColor}">

        Public ReadOnly Property RadioButtonColor() As SolidColorBrush
        Get
            Dim solidColorBrush As SolidColorBrush

            If MyBusinessLogic Then
                solidColorBrush = _radioButtonNotRequiredBrush
            Else
                solidColorBrush = _radioButtonRequiredBrush
            End If

            Return solidColorBrush
        End Get
    End Property

一緒に考えてくれたJRBに感謝します。

于 2012-05-24T14:16:50.173 に答える