wpf等比缩放checkbox样式

<Style x:Key="LoginCheckBox" TargetType="{x:Type CheckBox}">
        <Setter Property="Foreground" Value="#989898"/>
        <Setter Property="FontFamily" Value="微软雅黑"/>
        <Setter Property="FontSize" Value="14"/>
        <Setter Property="FocusVisualStyle" Value="{x:Null}"/>
        <Setter Property="SnapsToDevicePixels" Value="true" />
        <Setter Property="OverridesDefaultStyle" Value="False" />
        <Setter Property="HorizontalAlignment" Value="Left"/>
        <Setter Property="VerticalAlignment" Value="Top"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="CheckBox">
                    <Grid>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="Auto"/>
                            <ColumnDefinition Width="*"/>
                        </Grid.ColumnDefinitions>
                        <Viewbox Width="{TemplateBinding FontSize}" Height="{TemplateBinding FontSize}">
                            <Grid Width="16" Height="16" >
                                <Rectangle x:Name="CheckBoxRectangle" Fill="White" RadiusY="3" RadiusX="3"/>
                                <Rectangle x:Name="CheckBoxRectangleOut" Stroke="#EEEEEE" StrokeThickness="1" RadiusY="3" RadiusX="3"/>
                                <Grid x:Name="CheckedMark" Width="16" Height="16" Visibility="Collapsed">
                                    <Path Stroke="White" SnapsToDevicePixels="False" StrokeThickness="2" Data="M3.35,7.5 L7,11.5 L12.5,4.0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/>
                                </Grid>
                            </Grid>
                        </Viewbox>
                        <TextBlock Grid.Column="1" 
                                   x:Name="CheckBoxText"
                                   Text="{TemplateBinding Content}" 
                                   FontFamily="{TemplateBinding FontFamily}" 
                                   FontSize="{TemplateBinding FontSize}" 
                                   Foreground="{TemplateBinding Foreground}" 
                                   VerticalAlignment="Center" 
                                   Margin="8,0,0,0"/>
                    </Grid>
                    <ControlTemplate.Triggers>
                        <Trigger Property="IsChecked" Value="True">
                            <Setter TargetName="CheckedMark" Property="Visibility" Value="Visible"></Setter>
                            <Setter TargetName="CheckBoxRectangle" Property="Fill" Value="#00D6C4"></Setter>
                            <Setter TargetName="CheckBoxRectangleOut" Property="Stroke" Value="Transparent"></Setter>
                        </Trigger>
                        <Trigger Property="IsFocused" Value="True">
                            <Setter TargetName="CheckBoxText" Property="Foreground" Value="#00D6C4"></Setter>
                        </Trigger>
                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

猜你喜欢

转载自blog.csdn.net/FireGhost57/article/details/87650064