/// <summary> /// Allows to minimize the overhead of creating new instances whenever a logical index changes by formatting an existing data item instance. /// </summary> internal virtual void UpdateDataItem(LoopingListDataItem dataItem, LoopingListItem visualItem) { if (this.ItemsSource != null) { dataItem.Item = this.ItemsSource[visualItem.LogicalIndex]; } this.UpdateItemTemplate(dataItem, visualItem); }
private void SetDataItem(LoopingListItem visualItem) { LoopingListDataItem dataItem = visualItem.Content as LoopingListDataItem; if (dataItem == null) { dataItem = this.CreateDataItem(visualItem.LogicalIndex); visualItem.DataContext = dataItem; visualItem.Content = dataItem; } this.UpdateDataItem(dataItem, visualItem); }
private void UpdateItemTemplate(LoopingListDataItem dataItem, LoopingListItem visualItem) { DataTemplate template = null; DataTemplateSelector selector = this.itemTemplateSelectorCache; if (selector != null) { template = selector.SelectTemplate(dataItem, visualItem); } if (template == null) { template = this.itemTemplateCache; } visualItem.ContentTemplate = template; }
/// <summary> /// Allows to minimize the overhead of creating new instances whenever a logical index changes by formatting an existing data item instance. /// </summary> /// <param name="dataItem"></param> /// <param name="visualItem"></param> internal virtual void UpdateDataItem(LoopingListDataItem dataItem, LoopingListItem visualItem) { this.UpdateItemTemplate(dataItem, visualItem); }