微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

属性“背景”不支持xamarin形式的“框架”类型错误值

如何解决属性“背景”不支持xamarin形式的“框架”类型错误值

我是xamarin开发的新手。我收到一个错误消息,指出“背景”属性不支持“框架”类型的值。有人知道如何更正语法吗?看起来我有一些语法问题。

 <?xml version="1.0" encoding="utf-8" ?>
    <ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="HealNow.MainPage"
             xmlns:ff="clr-namespace:FFImageLoading.Forms;assembly=FFImageLoading.Forms"
             xmlns:ffSvg="clr-namespace:FFImageLoading.Svg.Forms;assembly=FFImageLoading.Svg.Forms"
             xmlns:ffTransformations="clr-namespace:FFImageLoading.Transformations;assembly=FFImageLoading.Transformations">

    <StackLayout>
        <StackLayout.Background>
            <Frame>  
                <LinearGradientBrush EndPoint="0,1">
                   <GradientStop Color="#48b6a6" Offset="0.1" ></GradientStop>/>
                   <GradientStop Color="#2b78d4" Offset="1.0" ></GradientStop>/>
                </LinearGradientBrush>
            </Frame>
        </StackLayout.Background>
 </StackLayout>

</ContentPage>

解决方法

检查documentation of VisualElement.Background Property显示,Background属性的类型为Brush。应用Frame将不起作用。因此解决方案是在没有框架的情况下应用画笔:

<StackLayout>
    <StackLayout.Background>
        <LinearGradientBrush EndPoint="0,1">
            <GradientStop Color="#48b6a6" Offset="0.1" ></GradientStop>/>
             <GradientStop Color="#2b78d4" Offset="1.0" ></GradientStop>/>
         </LinearGradientBrush>
    </StackLayout.Background>
</StackLayout>
,

LinearGradientBrush类派生自GradientBrush类,GradientBrush类派生自Brush类,并且可以将这些笔刷类型的实例分配给{{ Stroke的1}}和Fill属性,以及Shape的{​​{1}}属性。

因此,您应该使用BackgroundVisualElement

Frame.Background

StackLayout.Background

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。