<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <Page.Resources> <ControlTemplate x:Key="switch" TargetType="{x:Type CheckBox}"> <Grid> <Grid.RowDefinitions> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> </Grid.RowDefinitions> <Canvas Background="LightGray"> <Line Name="lineOff" StrokeThickness="8" Stroke="Black" X1="48" Y1="40" X2="20" Y2="16" StrokeStartLineCap="Round" StrokeEndLineCap="Round" /> <Line Name="lineOn" StrokeThickness="8" Stroke="Black" X1="48" Y1="40" X2="76" Y2="16" StrokeStartLineCap="Round" StrokeEndLineCap="Round" Visibility="Hidden" /> </Canvas> <ContentPresenter Grid.Row="1" Content="{TemplateBinding Content}" HorizontalAlignment="Center" /> </Grid> <ControlTemplate.Triggers> <Trigger Property="IsChecked" Value="True"> <Setter TargetName="lineOff" Property="Visibility" Value="Hidden" /> <Setter TargetName="lineOn" Property="Visibility" Value="Visible" /> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Page.Resources> <CheckBox Template="{StaticResource switch}" Content="Customized CheckBox" HorizontalAlignment="Center" VerticalAlignment="Center" /> </Page>