System.Windows.Controls.ContentPresenter.GetDefaultTemplate C# (CSharp) Method

GetDefaultTemplate() private method

private GetDefaultTemplate ( ) : System.Windows.Controls.UIElement
return System.Windows.Controls.UIElement
		internal override UIElement GetDefaultTemplate ()
		{
			ContentControl templateOwner = TemplateOwner as ContentControl;
			if (templateOwner != null) {
				if (DependencyProperty.UnsetValue == ReadLocalValue (ContentPresenter.ContentProperty)) {
					SetTemplateBinding (ContentPresenter.ContentProperty,
							       new TemplateBindingExpression {
								       SourceProperty = ContentControl.ContentProperty,
								       TargetProperty = ContentPresenter.ContentProperty
							       });
				}

				if (DependencyProperty.UnsetValue == ReadLocalValue (ContentPresenter.ContentTemplateProperty)) {
					SetTemplateBinding (ContentPresenter.ContentTemplateProperty,
							       new TemplateBindingExpression {
								       SourceProperty = ContentControl.ContentTemplateProperty,
								       TargetProperty = ContentPresenter.ContentTemplateProperty
							       });
				}
			}

			// Expand the ContentTemplate if it exists
			DataTemplate template = ContentTemplate;
			if (template != null) {
				_contentRoot = template.LoadContent () as UIElement;
			} else {
				var content = Content;
				_contentRoot = content as UIElement;
				if (_contentRoot == null && content != null)
					_contentRoot = FallbackRoot;
			}
			return _contentRoot;
		}
	}