WPF - Template
<Window.Resources>
<!--템플릿 : ControlTemplate >> 컨트롤의 집합을 모아놓고 자원으로 활용-->
<ControlTemplate x:Key="btnTemplate">
<Grid>
<Ellipse Width="100" Height="100"> <!--바깥쪽의 큰원-->
<Ellipse.Fill>
<!--위에서 아래방향-->
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
<GradientStop Offset="0" Color="Blue"/> <!--시작색-->
<GradientStop Offset="1" Color="Red"/> <!--끝색-->
</LinearGradientBrush>
</Ellipse.Fill>
</Ellipse>
<Ellipse Width="80" Height="80"> <!--안쪽은 좀 작은원-->
<Ellipse.Fill>
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
<GradientStop Offset="0" Color="White"/>
<GradientStop Offset="1" Color="Transparent"/>
</LinearGradientBrush>
</Ellipse.Fill>
</Ellipse>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="Button.IsPressed" Value="True">
<!--기준점-->
<Setter Property="RenderTransformOrigin" Value=".5,.5" />
<Setter Property="RenderTransform">
<Setter.Value>
<!--크기를 줄여줌-->
<ScaleTransform ScaleX="0.9" ScaleY="0.9" />
</Setter.Value>
</Setter>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Window.Resources>
<Grid HorizontalAlignment="Center" VerticalAlignment="Center">
<!--버튼이지만 버튼스타일이 아니라 템플릿 안에서 선언된 스타일대로 그려진다-->
<Button Template="{StaticResource btnTemplate}">버튼</Button>
</Grid>