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. }
/// <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); }
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. }