Skip to main content
ControlOnTemplateChanged Method

Called whenever the control's template changes.

Namespace:   System.Windows.Controls
Assembly:  PresentationFramework (in PresentationFramework.dll)

protected virtual void OnTemplateChanged(
	ControlTemplate oldTemplate,
	ControlTemplate newTemplate
virtual void OnTemplateChanged(
	ControlTemplate^ oldTemplate,
	ControlTemplate^ newTemplate
abstract OnTemplateChanged : 
        oldTemplate:ControlTemplate *
        newTemplate:ControlTemplate -> unit
override OnTemplateChanged : 
        oldTemplate:ControlTemplate *
        newTemplate:ControlTemplate -> unit
Protected Overridable Sub OnTemplateChanged (
	oldTemplate As ControlTemplate,
	newTemplate As ControlTemplate



The old template.


The new template.

The timing for changing the template is as follows:

  1. The template is changed by a SetValue method call, a style trigger, or some other means.

  2. The property value changes; the property-changed callback is called.

  3. The old visual tree is removed.

  4. An internal method is called which eventually calls the OnTemplateChanged method.

  5. Later, during a measure, OnApplyTemplate is called and a new visual tree is attached.

.NET Framework
Available since 3.0
Return to top