C# 如何在Uwp中动态更改RadialGradientBrush的gradientstop颜色

C# 如何在Uwp中动态更改RadialGradientBrush的gradientstop颜色,c#,uwp,C#,Uwp,如何在Uwp中动态更改RadialGradientBrush的gradientstop颜色 声明示例: <Ellipse x:Name="xBackground" Canvas.Left="12.25" Canvas.Top="12.25" Width="75" Height="75" StrokeThickness="0.5" Stroke="Black&qu

如何在Uwp中动态更改RadialGradientBrush的gradientstop颜色

声明示例:

<Ellipse x:Name="xBackground" Canvas.Left="12.25" Canvas.Top="12.25" Width="75" Height="75" StrokeThickness="0.5" Stroke="Black" >
<Ellipse.Fill>
    <media:RadialGradientBrush >
        <GradientStop Color="{Binding OnColor, Converter={StaticResource ColorLightConverter}, ConverterParameter=50, RelativeSource={RelativeSource Mode=TemplatedParent}}" Offset="1"/>
        <GradientStop Color="#FF2CA5DF"/>
        <GradientStop Color="{Binding OnColor, RelativeSource={RelativeSource Mode=TemplatedParent}}" Offset="0.5"/>
    </media:RadialGradientBrush>
</Ellipse.Fill>


在您的场景中,您使用了
TemplatedParent
作为
GradientStop
的源,因此颜色无法更改。我建议您可以在代码隐藏中创建一个名为
MyColor
的公共属性,并使用Color=”{Binding MyColor,Mode=OneWay要在XAML页面中绑定,当您在代码隐藏中更改MyClor属性时,将达到您想要的效果。例如,不工作不工作OnColor是什么类型?是System.Windows.Media.Color吗?公共静态只读DependencyProperty OnColorProperty=DependencyProperty.Register(“OnColor”、typeof(Color)、typeof(ToggleButtonBasic)、新PropertyMetadata(Colors.Green));