Control Templates

In addition to changing a control's look by manipulating properties, you can replace it with something completely different by setting a control's Template property.

In Example 1-35, we've decided that our Add button is a yellow ellipse, as shown in Figure 1-19.

Example 1-35. Replacing a control's look completely with a control template

<Button DockPanel.Dock="Bottom" x:Name="addButton" Content="Add"> <Button.Template> <ControlTemplate TargetType="{x:Type Button}">

<Ellipse Width="128" Height="32" Fill="Yellow" Stroke="Black" /> <ContentPresenter VerticalAlignment="Center" HorizontalAlignment="Center" /> </Grid>

</ControlTemplate> </Button.Template> </Button>

pi Nick \l.imr, 1 a 1 s knam.

Nome: Don Nick: Naked

Don: Naked Martin: Gudge Tim: Stinky

Add

Figure 1-19. A yellow ellipse button

The template of a control in WPF is what defines the look, whereas the code defines the behavior. The default template comes from the system-scope resources (as described in Chapter 12), but if you don't like that one, you can replace it with whatever you like, using a content presenter to drop in the content provided by the developer using your control. However, the behavior remains the same (e.g., if you click on the ellipse-shaped button in Figure 1-19, a Click event is still fired). We explore in detail the power of replacing the look of a control in Chapter 9.

Was this article helpful?

0 0
Project Management Made Easy

Project Management Made Easy

What you need to know about… Project Management Made Easy! Project management consists of more than just a large building project and can encompass small projects as well. No matter what the size of your project, you need to have some sort of project management. How you manage your project has everything to do with its outcome.

Get My Free Ebook


Post a comment