protected override void PrepareContainerForItemOverride(DependencyObject obj, object item) { base.PrepareContainerForItemOverride(obj, item); var gridViewItem = obj as GridViewItem; if (gridViewItem != null && ItemContainerStyleSelector != null) { gridViewItem.Style = ItemContainerStyleSelector.SelectStyle(item, obj); } }
protected override void PrepareContainerForItemOverride(DependencyObject element, object item) { base.PrepareContainerForItemOverride(element, item); if (ItemContainerStyleSelector != null) { var fElement = element as FrameworkElement; if (fElement == null) { return; } fElement.Style = ItemContainerStyleSelector.SelectStyle(item, null); } }
protected override void PrepareContainerForItemOverride(DependencyObject element, object item) { base.PrepareContainerForItemOverride(element, item); if (ItemContainerStyleSelector != null && element is FrameworkElement container) { var style = ItemContainerStyleSelector.SelectStyle(item, element); if (style != null) { container.Style = style; } } if (ItemContainerTemplateSelector != null && element is MenuItem menuItem) { menuItem.SetValueIfDefault(ItemContainerTemplateSelectorProperty, ItemContainerTemplateSelector); menuItem.SetValueIfDefault(UsesItemContainerTemplateProperty, UsesItemContainerTemplate); } }
protected override void PrepareContainerForItemOverride(DependencyObject element, object item) { base.PrepareContainerForItemOverride(element, item); if (ItemContainerStyleSelector != null && element is FrameworkElement container) { var style = ItemContainerStyleSelector.SelectStyle(item, element); if (style != null) { container.Style = style; } if (container is ItemsControl itemsControl) { itemsControl.SetValueIfDefault(ItemContainerStyleSelectorProperty, ItemContainerStyleSelector); } } if (ItemContainerTemplateSelector != null && element is MenuItem menuItem) { menuItem.SetValueIfDefault(ItemContainerTemplateSelectorProperty, ItemContainerTemplateSelector); menuItem.SetValueIfDefault(UsesItemContainerTemplateProperty, UsesItemContainerTemplate); } var itemsCommandParameterPropertySource = DependencyPropertyHelper.GetValueSource(this, ItemsCommandParameterProperty); if (itemsCommandParameterPropertySource.BaseValueSource > BaseValueSource.Default) { element.SetBindingIfDefault(MenuItem.CommandParameterProperty, new Binding { Source = this, Path = new PropertyPath(ItemsCommandParameterProperty) }); } }
protected virtual void PrepareContainerForItemOverride(object item, FrameworkElement container) { if (container is IItemContainer) { DataTemplate itemTemplate = ItemTemplate ?? (ItemTemplateSelector != null ? ItemTemplateSelector.SelectTemplate(item, container) : null); Style itemContainerStyle = ItemContainerStyle ?? (ItemContainerStyleSelector != null ? ItemContainerStyleSelector.SelectStyle(item, container) : null); ((IItemContainer)container).PrepareContainerForItem(item, itemTemplate, itemContainerStyle); } }