Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        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)
                });
            }
        }
Esempio n. 5
0
        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);
            }
        }