wpf RadioButton效果

<Style x:Key="GroupSelectRadioButton_Left" TargetType="{x:Type RadioButton}">
        <Setter Property="Background" Value="Transparent"/>
        <Setter Property="BorderBrush" Value="Transparent"/>
        <Setter Property="Foreground" Value="Gray"></Setter>
        <Setter Property="Padding" Value="0"></Setter>
        <Setter Property="FontSize" Value="14"></Setter>
        <Setter Property="BorderThickness" Value="0"></Setter>
        <Setter Property="Height" Value="auto"></Setter>
        <Setter Property="SnapsToDevicePixels" Value="true"></Setter>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type RadioButton}">
                    <Grid x:Name="grid"  VerticalAlignment="Stretch" HorizontalAlignment="Stretch"  ClipToBounds="True" >
                        <Rectangle x:Name="ButtonStock"  Fill="{TemplateBinding Background}" Stroke="Gray"  RadiusX="5" RadiusY="5" Margin="0,0,-5,0" StrokeThickness="1"/>
                        <ContentPresenter VerticalAlignment="Center" HorizontalAlignment="Center"  Margin="{TemplateBinding Padding}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
                    </Grid>
                  
                    <ControlTemplate.Triggers>
                        <Trigger Property="IsChecked" Value="true">
                           
                            <Setter Property="Background" Value="Green"></Setter>
                            <Setter Property="Foreground" Value="White"></Setter>
                        </Trigger>
                        <Trigger Property="IsMouseOver" Value="true">
                            <!--<Setter Property="Opacity" Value="0.6"></Setter>-->

                            <Setter Property="Background" Value="Green"></Setter>
                            <Setter Property="Foreground" Value="White"></Setter>
                        </Trigger>
                        <Trigger Property="IsEnabled" Value="False">
                            <Setter Property="Opacity" Value="0.5" TargetName="grid" ></Setter>
                        </Trigger>
                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    <Style x:Key="GroupSelectRadioButton_Middle" TargetType="{x:Type RadioButton}">
        <Setter Property="Background" Value="Transparent"/>
        <Setter Property="BorderBrush" Value="Transparent"/>
        <Setter Property="Foreground" Value="Gray"></Setter>
        <Setter Property="Padding" Value="0"></Setter>
        <Setter Property="FontSize" Value="12"></Setter>
        <Setter Property="BorderThickness" Value="0"></Setter>
        <Setter Property="Height" Value="auto"></Setter>
        <Setter Property="SnapsToDevicePixels" Value="true"></Setter>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type RadioButton}">
                    <Grid x:Name="grid"  VerticalAlignment="Stretch" HorizontalAlignment="Stretch"  ClipToBounds="True" >
                        <Rectangle x:Name="ButtonStock"  Fill="{TemplateBinding Background}" Stroke="Gray"  RadiusX="0" RadiusY="0" Margin="0,0,0,0" StrokeThickness="1"/>
                        <ContentPresenter VerticalAlignment="Center" HorizontalAlignment="Center"  Margin="{TemplateBinding Padding}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
                    </Grid>
                   
                    <ControlTemplate.Triggers>
                        <Trigger Property="IsChecked" Value="true">
                           
                            <Setter Property="Background" Value="Gray"></Setter>
                            <Setter Property="Foreground" Value="White"></Setter>
                        </Trigger>
                        <Trigger Property="IsMouseOver" Value="true">
                            <Setter Property="Opacity" Value="0.6"></Setter>
                        </Trigger>
                        <Trigger Property="IsEnabled" Value="False">
                            <Setter Property="Opacity" Value="0.5" TargetName="grid" ></Setter>
                        </Trigger>
                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    <Style x:Key="GroupSelectRadioButton_Right" TargetType="{x:Type RadioButton}">
        <Setter Property="Background" Value="Transparent"/>
        <Setter Property="BorderBrush" Value="Transparent"/>
        <Setter Property="Foreground" Value="Gray"></Setter>
        <Setter Property="Padding" Value="0"></Setter>
        <Setter Property="FontSize" Value="14"></Setter>
        <Setter Property="BorderThickness" Value="0"></Setter>
        <Setter Property="Height" Value="auto"></Setter>
        <Setter Property="SnapsToDevicePixels" Value="true"></Setter>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type RadioButton}">
                    <Grid x:Name="grid"  VerticalAlignment="Stretch" HorizontalAlignment="Stretch"  ClipToBounds="True" >
                        <Rectangle x:Name="ButtonStock"  Fill="{TemplateBinding Background}" Stroke="Gray"  RadiusX="5" RadiusY="5" Margin="-5,0,0,0" StrokeThickness="1"/>
                        <ContentPresenter VerticalAlignment="Center" HorizontalAlignment="Center"  Margin="{TemplateBinding Padding}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
                    </Grid>
                   
                    <ControlTemplate.Triggers>
                        <Trigger Property="IsChecked" Value="true">
                            
                            <Setter Property="Background" Value="Green"></Setter>
                            <Setter Property="Foreground" Value="White"></Setter>
                        </Trigger>
                        <Trigger Property="IsMouseOver" Value="true">
                            <!--<Setter Property="Opacity" Value="0.6"></Setter>-->
                            <Setter Property="Background" Value="Green"></Setter>
                            <Setter Property="Foreground" Value="White"></Setter>
                        </Trigger>
                        <Trigger Property="IsEnabled" Value="False">
                            <Setter Property="Opacity" Value="0.5" TargetName="grid" ></Setter>
                        </Trigger>
                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

 

猜你喜欢

转载自blog.csdn.net/dxm809/article/details/107451936