0

我创建了一个自定义控件,它应该有一个 ItemSource。所以我添加了一个 BindableProperty 并尝试绑定它,但我总是收到以下错误:

“位置 18:46。找不到 'ItemsSource' 的属性、可绑定属性或事件,或者值和属性之间的类型不匹配。”

绑定:<controls:SeatsView x:Name="Control" ItemSource="{Binding Rows}">

财产:

public IEnumerable ItemSource
{
    get => (IEnumerable)GetValue(ItemSourceProperty);
    set => SetValue(ItemSourceProperty, value);
}
public BindableProperty ItemSourceProperty =
        BindableProperty.Create(nameof(ItemSource), typeof(IEnumerable), typeof(SeatsView), defaultValue: null, defaultBindingMode: BindingMode.TwoWay, propertyChanged: OnItemSourceChanged);

如果我将它绑定在代码中,就像Control.ItemsSource = v.Rows;它工作正常......

我也尝试添加一个类型转换器,但它也不起作用

有任何想法吗

4

1 回答 1

0

可绑定属性应该是静态只读的

    public static readonly BindableProperty ItemSourceProperty =
    BindableProperty.Create(nameof(ItemSource), typeof(IEnumerable), typeof(SeatsView), defaultValue: null, defaultBindingMode: BindingMode.TwoWay, propertyChanged: OnItemSourceChanged);
于 2019-10-29T14:13:06.920 回答