Customized CheckBox

image_pdfimage_print


   
    
<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>