【问题标题】:how to change the color of the circle inside radio button如何更改单选按钮内圆圈的颜色
【发布时间】:2011-09-28 08:29:48
【问题描述】:

我只想在单击时更改单选按钮内的颜色。我的意思是圆圈内的小点。

我如何在 WPF 中做到这一点?

我试过这段代码,但它说内容被设置了不止一次

<BulletDecorator Background="Transparent">
    <BulletDecorator.Bullet>
        <StackPanel Orientation="Horizontal">
            <Grid Width="40" Height="40">
                <Ellipse Name="MainEllipse" Width="40" Height="40">
                    <Ellipse.Fill>
                        <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                            <GradientStop Color="#FFC8C8C8" Offset="0" />
                            <GradientStop Color="#FFF7F7F7" Offset="0.991" />
                        </LinearGradientBrush>
                    </Ellipse.Fill>
                </Ellipse>

                <Ellipse Margin="10,10,10,10"
                         Fill="#C0C0C0"
                         Width="Auto"
                         Height="Auto" />

                <Ellipse x:Name="Selected"
                         Margin="10,10,10,10"
                         Width="Auto"
                         Height="Auto">

                    <Ellipse.Fill>
                        <SolidColorBrush Color="Navy" />
                    </Ellipse.Fill> 
                </Ellipse>
            </Grid>
            <ContentPresenter Margin="5,0,0,0" VerticalAlignment="Center" />
        </StackPanel>
    </BulletDecorator.Bullet>
</BulletDecorator>

提前致谢,

约翰。

【问题讨论】:

    标签: wpf .net-3.5


    【解决方案1】:

    将您的 ContentPresenter 移出您的 StackPanel。实际上,您似乎根本不需要StackPanel

    <BulletDecorator Background="Transparent">
        <BulletDecorator.Bullet>
            <Grid Width="40" Height="40">
                <Ellipse Name="MainEllipse" Width="40" Height="40">
                    <Ellipse.Fill>
                        <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                            <GradientStop Color="#FFC8C8C8" Offset="0" />
                            <GradientStop Color="#FFF7F7F7" Offset="0.991" />
                        </LinearGradientBrush>
                    </Ellipse.Fill>
                </Ellipse>
    
                <Ellipse Margin="10,10,10,10"
                    Fill="#C0C0C0"
                    Width="Auto"
                    Height="Auto" />
    
                <Ellipse x:Name="Selected"
                    Margin="10,10,10,10"
                    Width="Auto"
                    Height="Auto">
                    <Ellipse.Fill>
                        <SolidColorBrush Color="Navy" />
                    </Ellipse.Fill> 
                </Ellipse>
            </Grid>
        </BulletDecorator.Bullet>
        <ContentPresenter Margin="5,0,0,0" VerticalAlignment="Center" />
    </BulletDecorator>
    

    【讨论】:

      【解决方案2】:

      此页面可能对您有所帮助:http://social.msdn.microsoft.com/forums/en-US/wpf/thread/35639a99-b2b2-4fe9-955d-775cb88ead43

      这涉及为 RadioButton 设置自定义样式。

      【讨论】:

        猜你喜欢
        • 2013-04-25
        • 2020-08-20
        • 2020-10-10
        • 2020-05-22
        • 2013-02-14
        • 2022-12-12
        • 2011-09-21
        • 1970-01-01
        • 2011-05-14
        相关资源
        最近更新 更多