Ich versuche, eine benutzerdefinierte Ansicht in Xamarin Forms, die in eine UICollectionView in IOS übersetzt.Xamarin Forms UICollectionView mit DataTemplate
Das erste, was ziemlich einfach ist zu tun:
Ausblick:
public class CollectionView : View
{
}
Renderer:
public class CollectionViewRenderer : ViewRenderer<CollectionView, UICollectionView>
{
protected override void OnElementChanged(ElementChangedEventArgs<CollectionView> e)
{
base.OnElementChanged(e);
if (Control == null)
{
SetNativeControl(new UICollectionView(new CGRect(0, 0, 200, 200), new UICollectionViewFlowLayout()));
}
if (e.NewElement != null)
{
...
Control.Source = new CollectionViewSource(a, this);
Control.ReloadData();
}
}
}
Nun möchte Ich mag diese Collection mit Datatemplates füttern (von Datatemplateselector) . Aber ich bin nicht in der Lage, einen Weg finden, um die Klassen zu registrieren:
Von der Vorlage, die Sie tun können:
Template.CreateContent();
das UI-Element zu erhalten.
Aber wie kann ich es in der Collection registrieren im CollectionSource
für dequeue'ingz.B .:
CollectionView.RegisterClassForCell(typeof(????), "CellId");
Hey danke für den Link, es ist interessant. Sie scheinen die Zellen nicht zu registrieren, sondern entziehen sie nur. https://github.com/XLabs/Xamarin-Forms-Labs/blob/master/src/Forms/XLabs.Forms.iOS/Controls/GridView/GridViewRenderer.cs#L89 – RVandersteen
Ich denke, Sie haben für die Link-Only-Antwort gewählt . – RVandersteen
@RVandersteen, ich habe meine Antwort aktualisiert. –