WPF: Control Template that is customized by properties

The following example demonstrates a window that defines a custom ControlTemplate for the System.Windows.Controls.Label control. Within the ControlTemplate there is a System.Windows.Controls.Border control that uses the TemplateBinding markup extension to declare that its Background property should derive its value from the Background property of the Label element, which in this case is set to LightBlue.

For Example:

Window x:Class="ControlTemplate.Window1"
Title="ControlTemplate" Height="100" Width="180">
  <ControlTemplate x:Key="labelTemplate" TargetType="{x:Type Label}">
    <Border x:Name="border" CornerRadius="4" BorderThickness="3" 
            BorderBrush="DarkGray" Background="{TemplateBinding Property=Background}">
      <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
   <Label Width="100" Height="24" Margin="4" Content="Custom Label" 
      Template="{StaticResource labelTemplate}" Background="LightBlue"/>

Build smarter apps with Machine Learning, Bots, Cognitive Services - Start free.

Start Learning Now