Mega Code Archive

 
Categories / C# / WPF
 

ControlTemplate that Respects Content

<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="">          <Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">   <Grid.Resources>     <ControlTemplate x:Key="buttonTemplate" TargetType="{x:Type Button}">       <Grid>         <Ellipse x:Name="outerCircle" 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>         <Viewbox>           <ContentControl Margin="20" Content="{TemplateBinding Content}"/>         </Viewbox>       </Grid>       <ControlTemplate.Triggers>         <Trigger Property="IsMouseOver" Value="True">           <Setter TargetName="outerCircle" Property="Fill" Value="Orange"/>         </Trigger>         <Trigger Property="IsPressed" Value="True">           <Setter Property="RenderTransform">             <Setter.Value>               <ScaleTransform ScaleX=".9" ScaleY=".9"/>             </Setter.Value>           </Setter>           <Setter Property="RenderTransformOrigin" Value=".5,.5"/>         </Trigger>       </ControlTemplate.Triggers>     </ControlTemplate>   </Grid.Resources>   <Button Template="{StaticResource buttonTemplate}">OK</Button> </Grid> </Window>