public ContentItemCell(DisplayContext displayContext, IContentItem contentItem, string cellId) : base(UITableViewCellStyle.Default, cellId) { var contentItemView = displayContext.ViewFactory.CreateContentItemView(contentItem); contentItemView.TranslatesAutoresizingMaskIntoConstraints = false; ContentView.AddSubview(contentItemView); ContentView.AddConstraints(ContentConstraints(contentItemView, ContentView)); }
void Update() { if (ViewModel.ContentItem == null) { return; } var displayContext = new DisplayContext(); displayContext.ViewController = this; displayContext.Messenger = Messenger.Default; displayContext.RootView = TableView; displayContext.RootContentItem = ViewModel.ContentItem; displayContext.ViewFactory = new DefaultViewFactory(displayContext); foreach (var zone in ViewModel.ContentItem.Zones) { var zoneProp = typeof(TableContentItemViewController).GetProperty(zone.Name, System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance); var zoneView = zoneProp?.GetValue(this, null) as UIView; if (zoneView != null) { foreach (var element in zone.Elements) { var elementView = displayContext.ViewFactory.CreateElementView(element); if (elementView != null) { if (zoneView is UIStackView) { ((UIStackView)zoneView).AddArrangedSubview(elementView); } else { zoneView.AddSubview(elementView); } } } } } }
public ItemsSource(DisplayContext displayContext, IList <IContentItem> items) { _displayContext = displayContext; _items = items; }
public ItemsSource(DisplayContext displayContext, IList <ITaxonomyItem> items) { _displayContext = displayContext; _items = items; }