public static SimpleViewHolder FromFormsView(View formsView, Context context) { var itemContentControl = new ItemContentView(context); itemContentControl.RealizeContent(formsView); return(new SimpleViewHolder(itemContentControl, formsView)); }
public void Bind(object itemBindingContext, ItemsView itemsView, Action <Size> reportMeasure = null, Size?size = null) { var template = _template.SelectDataTemplate(itemBindingContext, itemsView); var templateChanging = template != _selectedTemplate; if (templateChanging) { // Clean up any content we're still holding on to _itemContentView.Recycle(); // Create the new content View = (View)template.CreateContent(); // Set the binding context _before_ we create the renderer; that way, the bound data will be // available during OnElementChanged View.BindingContext = itemBindingContext; // Actually create the native renderer _itemContentView.RealizeContent(View); _selectedTemplate = template; } _itemContentView.HandleItemSizingStrategy(reportMeasure, size); if (!templateChanging) { // Same template, new data View.BindingContext = itemBindingContext; } itemsView.AddLogicalChild(View); }
public void Bind(object itemBindingContext, ItemsView itemsView) { var template = _template.SelectDataTemplate(itemBindingContext, itemsView); View = (View)template.CreateContent(); _itemContentView.RealizeContent(View); // Set the binding context before we add it as a child of the ItemsView; otherwise, it will // inherit the ItemsView's binding context View.BindingContext = itemBindingContext; itemsView.AddLogicalChild(View); }
public void Bind(object itemBindingContext, ItemsView itemsView, Action <Size> reportMeasure = null, Size?size = null) { var template = _template.SelectDataTemplate(itemBindingContext, itemsView); if (template != _selectedTemplate) { _itemContentView.Recycle(); View = (View)template.CreateContent(); _itemContentView.RealizeContent(View); _selectedTemplate = template; } _itemContentView.HandleItemSizingStrategy(reportMeasure, size); // Set the binding context before we add it as a child of the ItemsView; otherwise, it will // inherit the ItemsView's binding context View.BindingContext = itemBindingContext; itemsView.AddLogicalChild(View); }