控件模版ControlTemplate就是设置控件的外观,比如我们常见到的按钮是下面这样的,但是我们如何改变成圆形的呢?
01 |
<Window x:Class="DeepXAML.MainWindow"
|
03 |
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
04 |
xmlns:local="clr-namespace:DeepXAML" |
05 |
xmlns:sys="clr-namespace:System;assembly=mscorlib"
|
06 |
Title="MainWindow" Height="250" Width="450">
|
07 |
<Window.Resources>
|
08 |
<Style x:Key="roundButton" TargetType="Button">
|
09 |
<Setter Property="Background">
|
10 |
<Setter.Value>
|
11 |
<LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
|
12 |
<LinearGradientBrush.GradientStops>
|
13 |
<GradientStop Offset="0.0" Color="#fff" />
|
14 |
<GradientStop Offset="1.0" Color="Red" />
|
15 |
</LinearGradientBrush.GradientStops>
|
16 |
</LinearGradientBrush>
|
17 |
</Setter.Value>
|
18 |
</Setter>
|
19 |
<Setter Property="Template">
|
20 |
<Setter.Value>
|
21 |
<ControlTemplate TargetType="Button">
|
22 |
<Grid>
|
23 |
<Ellipse Fill="{TemplateBinding Background}"></Ellipse>
|
24 |
<ContentPresenter Margin="5" HorizontalAlignment="Center" VerticalAlignment="Center" /> </Grid>
|
25 |
</ControlTemplate>
|
26 |
</Setter.Value>
|
27 |
</Setter>
|
28 |
</Style>
|
29 |
</Window.Resources>
|
30 |
<StackPanel x:Name="stackPanel">
|
31 |
<Button Width="200" Height="120" Margin="20" Style="{StaticResource ResourceKey=roundButton}">OK</Button>
|
32 |
</StackPanel>
|
33 |
</Window>
|
ItemsControl有个PanelTemplate可以控制ItemsControl的条目容器