public virtual CGSize GetItemSize(UICollectionView collectionView, NSIndexPath indexPath) { DataTemplate itemTemplate = GetTemplateForItem(indexPath); if (_currentSelector != Owner.ItemTemplateSelector) { // If the templateSelector has changed, clear the cache _currentSelector = Owner.ItemTemplateSelector; _templateCache.Clear(); _templateCells.Clear(); } var size = GetTemplateSize(itemTemplate, NativeListViewBase.ListViewItemElementKindNS); if (size == CGSize.Empty) { // The size of the template is usually empty for items that have not been displayed yet when using ItemTemplateSelector. // The reason why we can't measure the template is because we do not resolve it, // as it would require enumerating through all items of a possibly virtualized ItemsSource. // To ensure a first display (after which they will be properly measured), we need them to have a non-empty size. size = new CGSize(44, 44); // 44 is the default MinHeight/MinWidth of ListViewItem/GridViewItem on UWP. } return(size); }
protected virtual void OnContentTemplateSelectorChanged(DataTemplateSelector dataTemplateSelector1, DataTemplateSelector dataTemplateSelector2) { if (IsContentPresenterBypassEnabled) { // In case there's code that happen to be here. } }
private void OnContentTemplateSelectorChanged(DataTemplateSelector dataTemplateSelector1, DataTemplateSelector dataTemplateSelector2) { }
/// <summary> /// Provides derived classes an opportunity to handle changes /// to the EditableItemTemplateSelector property. /// </summary> /// <param name="oldEditableItemTemplateSelector">The old EditableItemTemplateSelector value</param> /// <param name="newEditableItemTemplateSelector">The new EditableItemTemplateSelector value</param> private void OnEditableItemTemplateSelectorChanged( DataTemplateSelector oldEditableItemTemplateSelector, DataTemplateSelector newEditableItemTemplateSelector) { }
protected virtual void OnItemTemplateSelectorChanged(DataTemplateSelector oldItemTemplateSelector, DataTemplateSelector newItemTemplateSelector) { SetNeedsUpdateItems(); }
/// <summary> /// Prepares the content control for use in an ItemsControl. /// </summary> /// <param name="this">The this.</param> /// <param name="item">The item.</param> /// <param name="itemTemplate">The item template.</param> /// <param name="itemTemplateSelector">The item template selector.</param> public static void PrepareContentControl( this ContentControl @this, object item, DataTemplate itemTemplate, DataTemplateSelector itemTemplateSelector) { if (item != @this) { if ([email protected](ContentControl.ContentProperty)) { @this.Content = item; } if (itemTemplate != null) { @this.SetValue(ContentControl.ContentTemplateProperty, itemTemplate); } if (itemTemplateSelector != null) { @this.SetValue(ContentControl.ContentTemplateSelectorProperty, itemTemplateSelector); } } }
protected override void OnContentTemplateSelectorChanged(DataTemplateSelector oldContentTemplateSelector, DataTemplateSelector newContentTemplateSelector) { base.OnContentTemplateSelectorChanged(oldContentTemplateSelector, newContentTemplateSelector); if (!_changingTemplates) { this.SlimContentTemplateSelector = this.ContentTemplateSelector; } }
/// <summary> /// Provides derived classes an opportunity to handle changes /// to the EditableContentTemplateSelector property. /// </summary> /// <param name="oldEditableContentTemplateSelector">The old EditableContentTemplateSelector value</param> /// <param name="newEditableContentTemplateSelector">The new EditableContentTemplateSelector value</param> private void OnEditableContentTemplateSelectorChanged( DataTemplateSelector oldEditableContentTemplateSelector, DataTemplateSelector newEditableContentTemplateSelector) { if (this.IsSelected) { _changingTemplates = true; this.ContentTemplateSelector = newEditableContentTemplateSelector; _changingTemplates = false; } _isEditable = true; }
protected override void OnItemTemplateSelectorChanged(DataTemplateSelector oldItemTemplateSelector, DataTemplateSelector newItemTemplateSelector) { base.OnItemTemplateSelectorChanged(oldItemTemplateSelector, newItemTemplateSelector); Refresh(); }
private void AddItem(DataTemplateSelector datatemplateSelector, object item) { var presenter = IoC.Container.Resolve<MapItem>(); presenter.RenderTransformOrigin = new Point(.5, .5); presenter.DataContext = item; var dataTemplate = datatemplateSelector.SelectTemplate(item, presenter); presenter.ContentTemplate = dataTemplate; _childControls.Add(item, presenter); _mapControl.Children.Add(presenter); var latitudeBinding = new Binding { Path = new PropertyPath(LocationAwareDataTemplate.GetLatitudePath(dataTemplate)) }; presenter.SetBinding(MapItem.LatitudeProperty, latitudeBinding); var longitudeBinding = new Binding { Path = new PropertyPath(LocationAwareDataTemplate.GetLongitudePath(dataTemplate)) }; presenter.SetBinding(MapItem.LongitudeProperty, longitudeBinding); }
private void OnItemTemplateSelectorChanged(DataTemplateSelector p) { if (listBox == null) return; listBox.ItemTemplateSelector = p; }
protected override void OnItemTemplateSelectorChanged(DataTemplateSelector oldItemTemplateSelector, DataTemplateSelector newItemTemplateSelector) { base.OnItemTemplateSelectorChanged(oldItemTemplateSelector, newItemTemplateSelector); }
protected virtual void IItemsControlOverrides.OnItemTemplateSelectorChanged([In] DataTemplateSelector oldItemTemplateSelector, [In] DataTemplateSelector newItemTemplateSelector);