Ich habe eine benutzerdefinierte ContentView
mit einer definierten bindbare Eigenschaft:Xamarin - eine Sammlung, um benutzerdefinierte bindbare Eigenschaft in XAML Einstellung
public IEnumerable<SomeItem> Items
{
get => (IEnumerable<SomeItem>)GetValue(ItemsProperty);
set => SetValue(ItemsProperty, value);
}
public static readonly BindableProperty ItemsProperty = BindableProperty.Create(
nameof(Items),
typeof(IEnumerable<SomeItem>),
typeof(MyControl),
propertyChanged: (bObj, oldValue, newValue) =>
{
}
);
Wie kann ich einen Wert dieses in XAML festlegen?
Ich habe versucht:
<c:MyControl>
<c:MyControl.Items>
<x:Array Type="{x:Type c:SomeItem}">
<c:SomeItem />
<c:SomeItem />
<c:SomeItem />
</x:Array>
</c:MyControl.Items>
</c:MyControl>
Aber von Zeit zu Zeit immer Fehler folgende Zusammenstellung:
error : Value cannot be null.
error : Parameter name: fieldType
ich etwas falsch? Gibt es einen anderen Weg?
ich Ihren Code getestet - es funktioniert! Ich denke, dass dieser Kompilierungsfehler ein falsches positives von Intellisense ist. Außerdem würde ich empfehlen, das 'returnType'-Argument (in Binding.Create) zu' IEnumerable 'von' IEnumerable 'zu ändern. –
Ada