为什么 Frame LinearGradientBrush 不尊重 StartPoint 和 EndPoint 的值为 0 和 1 以外的值

问题描述 投票:0回答:1

我正在尝试创建一个具有从黄色到绿色的线性渐变的框架。我希望右上角是黄色,底部中间是绿色。

我正在使用以下 XAML:

 <Frame Padding="0" BorderColor="Transparent" HeightRequest="200" Margin="10">
     <Frame.Background>
         <LinearGradientBrush StartPoint="1,0" EndPoint="0.5,1">
             <GradientStop Color="Yellow"
                       Offset="0.0" />
             <GradientStop Color="Green"
                       Offset="1.0" />
         </LinearGradientBrush>
     </Frame.Background>

 </Frame>

这是我运行应用程序时看到的内容:

enter image description here

我的期望是我会看到与此类似的内容(添加红色箭头以帮助可视化渐变的开始和结束):

enter image description here

我注意到,如果我将 EndPoint X 更改为 0,它会按预期工作:

<LinearGradientBrush StartPoint="1,0" EndPoint="0,1">

enter image description here

我尝试过

0.5
.5
的值,但似乎都不起作用,它们都会导致从框架左侧开始黄色。我正在使用 MAUI 8.0.7。

xaml maui linear-gradients
1个回答
0
投票

您设置了正确的起点和终点,但没有设置正确的偏移量。您可以将绿色的偏移量更改为“0.5”。

<Frame Padding="0" BorderColor="Transparent" HeightRequest="200" Margin="10">
    <Frame.Background>
        <LinearGradientBrush StartPoint="1,0" EndPoint="0.5,1">
            <GradientStop Color="Yellow"
           Offset="0.0" />
            <GradientStop Color="Green"
           Offset="0.5" />
        </LinearGradientBrush>
    </Frame.Background>

</Frame>
© www.soinside.com 2019 - 2024. All rights reserved.