Próbuję zrobić niestandardowy widok w Xamarin Forms, który przekłada się na UICollectionView w IOS.Xamarin Forms UICollectionView with DataTemplate
Ta pierwsza sprawa jest dość proste do zrobienia:
Widok:
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();
}
}
}
Teraz chciałbym nakarmić tę CollectionView z DataTemplates (z DataTemplateSelector) . Ale jestem w stanie znaleźć sposób, aby zarejestrować klas:
z szablonu można zrobić:
Template.CreateContent();
dostać element UI.
Ale jak mogę go zarejestrować w CollectionView dla dequeue'ing w CollectionSource
np .:
CollectionView.RegisterClassForCell(typeof(????), "CellId");
Hej, dziękuję Ci za link, to jest interesujące. Nie wydają się rejestrować komórek, ale tylko je usuwają. https://github.com/XLabs/Xamarin-Forms-Labs/blob/master/src/Forms/XLabs.Forms.iOS/Controls/GridView/GridViewRenderer.cs#L89 – RVandersteen
Podejrzewam, że zostałeś oddany pod głosowanie tylko w odpowiedzi na link . – RVandersteen
@RVandersteen, zaktualizowałem swoją odpowiedź. –