WPF Button ControlTemplate ContentPresenter TextElement.FontSize TemplateBinding FontSize
<Button Content="Custom Button" Background="Gold" FontSize="30" Grid.Column="0" BorderBrush="Green" BorderThickness="5"> <Button.Template> <ControlTemplate TargetType="Button"> <Border x:Name="border" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="4"> <ContentPresenter x:Name="contentPresenter" HorizontalAlignment="Center" VerticalAlignment="Center" RecognizesAccessKey="True" TextElement.FontSize="{TemplateBinding FontSize}"> </ContentPresenter> </Border> <ControlTemplate.Triggers> <Trigger Property="IsMouseOver" Value="True"> <Setter TargetName="border" Property="Background" Value="Blue"/> <Setter TargetName="border" Property="BorderBrush" Value="Yellow"/> <Setter TargetName="border" Property="BorderThickness" Value="10"/> <Setter TargetName="contentPresenter" Property="TextElement.FontSize" Value="50"/> </Trigger> <Trigger Property="IsPressed" Value="True"> <Setter TargetName="border" Property="Background" Value="Cyan"/> <Setter TargetName="border" Property="BorderBrush" Value="Red"/> <Setter TargetName="border" Property="BorderThickness" Value="20"/> <Setter TargetName="contentPresenter" Property="TextElement.FontSize" Value="100"/> </Trigger> <Trigger Property="IsEnabled" Value="False"> <Setter TargetName="border" Property="Opacity" Value="0.5"/> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Button.Template> </Button>
<Window x:Class="WpfApp22.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" WindowState="Maximized" xmlns:local="clr-namespace:WpfApp22" mc:Ignorable="d" Title="MainWindow" Height="450" Width="800"> <Grid> <Grid.RowDefinitions> <RowDefinition/> <RowDefinition/> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition/> <ColumnDefinition/> </Grid.ColumnDefinitions> <Button Content="Custom Button" Background="Gold" FontSize="30" Grid.Column="0" BorderBrush="Green" BorderThickness="5"> <Button.Template> <ControlTemplate TargetType="Button"> <Border x:Name="border" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="4"> <ContentPresenter x:Name="contentPresenter" HorizontalAlignment="Center" VerticalAlignment="Center" RecognizesAccessKey="True" TextElement.FontSize="{TemplateBinding FontSize}"> </ContentPresenter> </Border> <ControlTemplate.Triggers> <Trigger Property="IsMouseOver" Value="True"> <Setter TargetName="border" Property="Background" Value="Blue"/> <Setter TargetName="border" Property="BorderBrush" Value="Yellow"/> <Setter TargetName="border" Property="BorderThickness" Value="10"/> <Setter TargetName="contentPresenter" Property="TextElement.FontSize" Value="50"/> </Trigger> <Trigger Property="IsPressed" Value="True"> <Setter TargetName="border" Property="Background" Value="Cyan"/> <Setter TargetName="border" Property="BorderBrush" Value="Red"/> <Setter TargetName="border" Property="BorderThickness" Value="20"/> <Setter TargetName="contentPresenter" Property="TextElement.FontSize" Value="100"/> </Trigger> <Trigger Property="IsEnabled" Value="False"> <Setter TargetName="border" Property="Opacity" Value="0.5"/> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Button.Template> </Button> <Button Grid.Row="1" Content="Second Button" Background="Beige" FontSize="30" BorderBrush="Blue" BorderThickness="10"> <Button.Template> <ControlTemplate TargetType="Button"> <Border x:Name="border" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="10"> <ContentPresenter x:Name="contentPresenter" HorizontalAlignment="Center" VerticalAlignment="Center" TextElement.FontSize="{TemplateBinding FontSize}"/> </Border> <ControlTemplate.Triggers> <Trigger Property="IsMouseOver" Value="True"> <Setter TargetName="border" Property="Background" Value="LightGreen"/> <Setter TargetName="border" Property="BorderBrush" Value="LightBlue"/> <Setter TargetName="border" Property="BorderThickness" Value="20"/> <Setter TargetName="contentPresenter" Property="TextElement.FontSize" Value="50"/> </Trigger> <Trigger Property="IsPressed" Value="True"> <Setter TargetName="border" Property="Background" Value="LightCoral"/> <Setter TargetName="border" Property="BorderBrush" Value="DarkGoldenrod"/> <Setter TargetName="border" Property="BorderThickness" Value="30"/> <Setter TargetName="contentPresenter" Property="TextElement.FontSize" Value="70"/> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Button.Template> </Button> <Button Grid.Row="0" Grid.Column="1" Content="Third Button" FontSize="30" Background="LightCoral" BorderBrush="DarkBlue" BorderThickness="10"> <Button.Template> <ControlTemplate TargetType="Button"> <Border x:Name="bd" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}"> <ContentPresenter x:Name="contentPresenter" VerticalAlignment="Center" HorizontalAlignment="Left" TextElement.FontSize="{TemplateBinding FontSize}"/> </Border> <ControlTemplate.Triggers> <Trigger Property="IsMouseOver" Value="True"> <Setter TargetName="bd" Property="Background" Value="Red"/> <Setter TargetName="bd" Property="BorderBrush" Value="DarkGoldenrod"/> <Setter TargetName="bd" Property="BorderThickness" Value="20"/> <Setter TargetName="contentPresenter" Property="TextElement.FontSize" Value="50"/> </Trigger> <Trigger Property="IsPressed" Value="True"> <Setter TargetName="bd" Property="Background" Value="Green"/> <Setter TargetName="bd" Property="BorderBrush" Value="Cyan"/> <Setter TargetName="bd" Property="BorderThickness" Value="30"/> <Setter TargetName="contentPresenter" Property="TextElement.FontSize" Value="100"/> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Button.Template> </Button> <Button Grid.Row="1" Grid.Column="1" Content="Forth Button" FontSize="30" Background="Red" BorderBrush="Green" BorderThickness="10"> <Button.Template> <ControlTemplate TargetType="Button"> <Border x:Name="bd4" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}"> <ContentPresenter x:Name="contentPresent4" HorizontalAlignment="Right" VerticalAlignment="Center" TextElement.FontSize="{TemplateBinding FontSize}"/> </Border> <ControlTemplate.Triggers> <Trigger Property="IsMouseOver" Value="True"> <Setter TargetName="bd4" Property="Background" Value="Blue"/> <Setter TargetName="bd4" Property="BorderBrush" Value="Red"/> <Setter TargetName="bd4" Property="BorderThickness" Value="30"/> <Setter TargetName="contentPresent4" Property="TextElement.FontSize" Value="50"/> </Trigger> <Trigger Property="IsPressed" Value="True"> <Setter TargetName="bd4" Property="Background" Value="Green"/> <Setter TargetName="bd4" Property="BorderBrush" Value="Blue"/> <Setter TargetName="bd4" Property="BorderThickness" Value="50"/> <Setter TargetName="contentPresent4" Property="TextElement.FontSize" Value="100"/> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Button.Template> </Button> </Grid> </Window>