在 UWP XAML 中获取径向渐变

Aru*_* NA 3 xaml uwp

UWP XAML 中的线性渐变效果很好,但我需要将其转换为径向渐变画笔。

这是我当前的 UWP XAML 代码

<Page
    x:Class="button_radious.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:button_radious"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d">
    <Grid>
      <Grid.Background>
        <LinearGradientBrush StartPoint="0,1" EndPoint="1,0">
            <GradientStop Color="#000000" Offset="0.30"/>
            <GradientStop Color="green" Offset="0.65"/>
            <GradientStop Color="White" Offset="0.90"/>
        </LinearGradientBrush>
      </Grid.Background>    
    </Grid>
</Page>
Run Code Online (Sandbox Code Playgroud)

Mar*_*und 5

RadialGradientBrush默认情况下不包含为 UWP API。您将需要添加对Windows Community Toolkit UI 的引用-Microsoft.Toolkit.Uwp.UI其中包含RadialGradientBrush您可以按预期使用的内容,与 WPF 中的方式相同。

<Grid>
  <Grid.Background>
    <media:RadialGradientBrush 
            AlphaMode="Premultiplied"
            RadiusX="0.2" RadiusY="0.2"
            SpreadMethod="Reflect">
        <GradientStop Color="Red" Offset="0" />
        <GradientStop Color="Transparent" Offset="0.25" />
        <GradientStop Color="Yellow" Offset="0.50" />
        <GradientStop Color="Transparent" Offset="0.75" />
        <GradientStop Color="Green" Offset="1.0" />
    </media:RadialGradientBrush>
  </Grid.Fill>
</Grid>
Run Code Online (Sandbox Code Playgroud)

由于画笔位于库中,因此您必须将以下命名空间声明添加到您的Page元素中:

xmlns:media="Microsoft.Toolkit.Uwp.UI.Media"
Run Code Online (Sandbox Code Playgroud)