Пользовательский ItemSource в XAML не привязывается - PullRequest
0 голосов
/ 29 октября 2019

Я создал пользовательский элемент управления, который должен иметь 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;он работает нормально ...

Я также пытался добавить преобразователь типов, но он тоже не работает

Любые идеи

1 Ответ

0 голосов
/ 29 октября 2019

Свойство привязки должно быть статическим и только для чтения

    public static readonly BindableProperty ItemSourceProperty =
    BindableProperty.Create(nameof(ItemSource), typeof(IEnumerable), typeof(SeatsView), defaultValue: null, defaultBindingMode: BindingMode.TwoWay, propertyChanged: OnItemSourceChanged);
...