ContentPresenter.ChooseTemplate Method


Returns the template to use. This may depend on the content or other properties.

 virtual System::Windows::DataTemplate ^ ChooseTemplate();
protected virtual System.Windows.DataTemplate ChooseTemplate ();
abstract member ChooseTemplate : unit -> System.Windows.DataTemplate
override this.ChooseTemplate : unit -> System.Windows.DataTemplate
Protected Overridable Function ChooseTemplate () As DataTemplate



The DataTemplate to use.


The base class implements the following rules:

  1. If ContentTemplate is set, use it.

  2. If ContentTemplateSelector is set, call its SelectTemplate method. If the result is not null, use it.

  3. Look for a DataTemplate whose DataType matches the content among the resources known to the ContentPresenter (including application, theme, and system resources). If one is found, use it.

  4. If the type of Content is "common", use a standard template. The common types are String, XmlNode, and UIElement.

  5. Otherwise, use a default template that essentially converts Content to a string and displays it in a TextBlock.

Derived classes can override these rules and implement their own.

Applies to