windows phone Image checkbox

<phone:PhoneApplicationPage.Resources>

        <Style x:Key="PhoneButtonBase" TargetType="ButtonBase">

            <Setter Property="Background" Value="Transparent"/>

            <Setter Property="BorderBrush" Value="{StaticResource PhoneForegroundBrush}"/>

            <Setter Property="Foreground" Value="{StaticResource PhoneForegroundBrush}"/>

            <Setter Property="BorderThickness" Value="{StaticResource PhoneBorderThickness}"/>

            <Setter Property="FontFamily" Value="{StaticResource PhoneFontFamilySemiBold}"/>

            <Setter Property="FontSize" Value="{StaticResource PhoneFontSizeMediumLarge}"/>

            <Setter Property="Padding" Value="10,3,10,5"/>

            <Setter Property="Template">

                <Setter.Value>

                    <ControlTemplate TargetType="ButtonBase">

                        <Grid Background="Transparent">

                            <VisualStateManager.VisualStateGroups>

                                <VisualStateGroup x:Name="CommonStates">

                                    <VisualState x:Name="Normal"/>

                                    <VisualState x:Name="MouseOver"/>

                                    <VisualState x:Name="Pressed">

                                        <Storyboard>

                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="ContentContainer">

                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneBackgroundBrush}"/>

                                            </ObjectAnimationUsingKeyFrames>

                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="ButtonBackground">

                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneForegroundBrush}"/>

                                            </ObjectAnimationUsingKeyFrames>

                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderBrush" Storyboard.TargetName="ButtonBackground">

                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneForegroundBrush}"/>

                                            </ObjectAnimationUsingKeyFrames>

                                        </Storyboard>

                                    </VisualState>

                                    <VisualState x:Name="Disabled">

                                        <Storyboard>

                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="ContentContainer">

                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneDisabledBrush}"/>

                                            </ObjectAnimationUsingKeyFrames>

                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderBrush" Storyboard.TargetName="ButtonBackground">

                                                <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneDisabledBrush}"/>

                                            </ObjectAnimationUsingKeyFrames>

                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="ButtonBackground">

                                                <DiscreteObjectKeyFrame KeyTime="0" Value="Transparent"/>

                                            </ObjectAnimationUsingKeyFrames>

                                        </Storyboard>

                                    </VisualState>

                                </VisualStateGroup>

                            </VisualStateManager.VisualStateGroups>

                            <Border x:Name="ButtonBackground" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" CornerRadius="0" Margin="{StaticResource PhoneTouchTargetOverhang}">

                                <ContentControl x:Name="ContentContainer" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" Foreground="{TemplateBinding Foreground}" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" Padding="{TemplateBinding Padding}" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"/>

                            </Border>

                        </Grid>

                    </ControlTemplate>

                </Setter.Value>

            </Setter>

        </Style>

        <Style x:Key="PhoneRadioButtonCheckBoxBase" BasedOn="{StaticResource PhoneButtonBase}" TargetType="ToggleButton">

            <Setter Property="Background" Value="{StaticResource PhoneRadioCheckBoxBrush}"/>

            <Setter Property="BorderBrush" Value="{StaticResource PhoneRadioCheckBoxBrush}"/>

            <Setter Property="FontSize" Value="{StaticResource PhoneFontSizeMedium}"/>

            <Setter Property="FontFamily" Value="{StaticResource PhoneFontFamilyNormal}"/>

            <Setter Property="HorizontalContentAlignment" Value="Left"/>

            <Setter Property="VerticalContentAlignment" Value="Center"/>

            <Setter Property="Padding" Value="0"/>

        </Style>

        <Style x:Key="CheckBoxStyle1" BasedOn="{StaticResource PhoneRadioButtonCheckBoxBase}" TargetType="CheckBox">

            <Setter Property="Template">

                <Setter.Value>

                    <ControlTemplate TargetType="CheckBox">

                        <Grid Background="Transparent">

                            <VisualStateManager.VisualStateGroups>

                                <VisualStateGroup x:Name="CommonStates">

                                    <VisualState x:Name="Normal"/>

                                    <VisualState x:Name="MouseOver"/>

                                    <VisualState x:Name="Pressed"/>

                                    <VisualState x:Name="Disabled"/>

                                </VisualStateGroup>

                                <VisualStateGroup x:Name="CheckStates">

                                    <VisualState x:Name="Checked">

                                        <Storyboard>

                                            <DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="image1" d:IsOptimized="True"/>

                                        </Storyboard>

                                    </VisualState>

                                    <VisualState x:Name="Unchecked">

                                        <Storyboard>

                                            <DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="image" d:IsOptimized="True"/>

                                        </Storyboard>

                                    </VisualState>

                                    <VisualState x:Name="Indeterminate"/>

                                </VisualStateGroup>

                                <VisualStateGroup x:Name="FocusStates"/>

                                <VisualStateGroup x:Name="ValidationStates"/>

                            </VisualStateManager.VisualStateGroups>

                            <Grid Margin="{StaticResource PhoneTouchTargetLargeOverhang}">

                                <Grid.ColumnDefinitions>

                                    <ColumnDefinition Width="32"/>

                                    <ColumnDefinition Width="*"/>

                                </Grid.ColumnDefinitions>

                            </Grid>

                            <Image x:Name="image" Source="/Assets/BtnIcons/cbimage1.png" HorizontalAlignment="Left" Height="35" Opacity="0" VerticalAlignment="Top" Width="35" RenderTransformOrigin="0.339,0.3">

                                <Image.RenderTransform>

                                    <CompositeTransform/>

                                </Image.RenderTransform>

                            </Image>

                            <Image x:Name="image1" Source="/Assets/BtnIcons/cbimage.png" HorizontalAlignment="Left" Height="35" Opacity="0" VerticalAlignment="Top" Width="35" RenderTransformOrigin="0.429,1.05">

                                <Image.RenderTransform>

                                    <CompositeTransform/>

                                </Image.RenderTransform>

                            </Image>

                        </Grid>

                    </ControlTemplate>

                </Setter.Value>

            </Setter>

        </Style>

    </phone:PhoneApplicationPage.Resources>

通过<CheckBox Style="{StaticResource CheckBoxStyle1}"/>    使用。

你可能感兴趣的:(windows phone)