WPF: Control Template that is customized by properties

By Nipun Tomar Dec 15, 2011
The following example demonstrates a window that defines a custom ControlTemplate

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"
xmlns=http://schemas.microsoft.com/winfx/2006/xaml/presentation
xmlns:x=http://schemas.microsoft.com/winfx/2006/xaml
Title="ControlTemplate" Height="100" Width="180">
<Window.Resources>
  <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"/>
    
</Border>
 
 </ControlTemplate>
</Window.Resources>
  <Grid>
   <Label Width="100" Height="24" Margin="4" Content="Custom Label" 
      Template="{StaticResource labelTemplate}" Background="LightBlue"/>
  </Grid>
</
Window>
Nipun Tomar

Nipun Tomar is competent and experienced project leader & architect with 10 years of experience in managing multi-disciplinary teams of varying sizes and complex programs of work. Has the ability to build strong relation... Read more

COMMENT USING