Exemplo n.º 1
0
        private void HideChildContent(ContentPresenter child, TabControlItemData tabControlItemData)
        {
#pragma warning disable WPF0041 // Set mutable dependency properties using SetCurrentValue.
            child.Content         = null;
            child.ContentTemplate = null;

            tabControlItemData.TabItem.Content = null;
#pragma warning restore WPF0041 // Set mutable dependency properties using SetCurrentValue.
        }
Exemplo n.º 2
0
        /// <summary>
        /// Create the child ContentPresenter for the given item (could be data or a TabItem)
        /// </summary>
        /// <param name="item">The item.</param>
        private void CreateChildContentPresenter(object item)
        {
            if (item == null)
            {
                return;
            }

            object dummyObject = null;

            if (_wrappedContainers.TryGetValue(item, out dummyObject))
            {
                return;
            }

            _wrappedContainers.Add(item, new object());

            var cp = FindChildContentPresenter(item);

            if (cp != null)
            {
                return;
            }

            // the actual child to be added.  cp.Tag is a reference to the TabItem
            cp = new ContentPresenter();

            var container = GetContentContainer(item);
            var content   = GetContent(item);

            var tabItemData = new TabControlItemData(container, content, ContentTemplate, item);

#pragma warning disable WPF0041 // Set mutable dependency properties using SetCurrentValue.
            cp.Tag = tabItemData;
#pragma warning restore WPF0041 // Set mutable dependency properties using SetCurrentValue.

            if (!IsLazyLoading)
            {
                ShowChildContent(cp, tabItemData);
            }

#pragma warning disable WPF0041 // Set mutable dependency properties using SetCurrentValue.
            cp.ContentTemplateSelector = ContentTemplateSelector;
            cp.ContentStringFormat     = SelectedContentStringFormat;
#pragma warning restore WPF0041 // Set mutable dependency properties using SetCurrentValue.

            _itemsHolder.Children.Add(cp);
        }
Exemplo n.º 3
0
        private void ShowChildContent(ContentPresenter child, TabControlItemData tabControlItemData)
        {
            if (child.Content == null)
            {
#pragma warning disable WPF0041 // Set mutable dependency properties using SetCurrentValue.
                child.Content = tabControlItemData.Content;
#pragma warning restore WPF0041 // Set mutable dependency properties using SetCurrentValue.
            }

            if (child.ContentTemplate == null)
            {
#pragma warning disable WPF0041 // Set mutable dependency properties using SetCurrentValue.
                child.ContentTemplate = tabControlItemData.ContentTemplate;
#pragma warning restore WPF0041 // Set mutable dependency properties using SetCurrentValue.
            }

#pragma warning disable WPF0041 // Set mutable dependency properties using SetCurrentValue.
            tabControlItemData.TabItem.Content = child;
#pragma warning restore WPF0041 // Set mutable dependency properties using SetCurrentValue.
        }