xamarin 找不到“IMGSource”的属性、BindableProperty或事件,或者值和属性之间的类型不匹配

dohp0rv5  于 2023-01-03  发布在  其他
关注(0)|答案(1)|浏览(125)

我已经添加了一个图像属性作为一个绑定属性,在该属性中的图像将得到绑定的后端在列表中,我们正在获取图像的URI形式.(下面是图像的链接)“http://103.117.66.70:5002/AllMedia/Categories/1ij0oc2022_12_29_img.png“
我的绑定属性代码如下:-
此图像是在一个自定义ContentView中定义的,我将此自定义ContentView绑定在一个页面中。

<Image Source="{Binding Source={x:Reference This}, Path=IMGSource}" Aspect="AspectFill"/>
    
    public static readonly BindableProperty IMGSourceBindablePropertyProperty = BindableProperty.Create(nameof(IMGSource), typeof(Uri), typeof(Uri));
            public Uri IMGSource
            {
                get { return (Uri)GetValue(IMGSourceBindablePropertyProperty); }
                set { SetValue(IMGSourceBindablePropertyProperty, value); }
            }

MainPage.xmal

<control:Accordion FrameEye="True" GridTitle="{Binding title}" IMGSource="{Binding RowImg}" GridTitleFontSize="16" HorizontalOptions="CenterAndExpand" VerticalOptions="EndAndExpand"/>
kse8i1jr

kse8i1jr1#

问题在于IMGSourceBindablePropertyProperty的名称和声明类型。
可绑定属性的命名约定是,可绑定属性标识符必须与Create方法中指定的属性名称匹配,并在名称后追加“Property”。
它应该看起来像

public static readonly BindableProperty IMGSourceProperty = 
                BindableProperty.Create(nameof(IMGSource), typeof(string), typeof(Accordion));

public string IMGSource
{
    get { return (string)GetValue(IMGSourceProperty); }
    set { SetValue(IMGSourceProperty, value); }
}

相关问题