之前做了一个横向的滑块效果,《WPF:CheckBox滑块效果》,其实我觉得那个不好看,今天又做了一个竖向的玩。
<Style TargetType="{x:Type CheckBox}">
<Setter Property="Foreground" Value="White"/>
<Setter Property="Padding" Value="2"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type CheckBox}">
<Border BorderThickness="1" Height="Auto" Width="Auto" CornerRadius="2" Margin="0" BorderBrush="Black">
<StackPanel>
<!-- 上半部分的文字 -->
<Border x:Name="PART_UPC" Height="Auto" Width="Auto" CornerRadius="2" Margin="1.3" Padding="5,2">
<TextBlock Text="上部分" FontSize="12" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<!--end:上半部分的文字-->
<!-- 下半部分的文字 -->
<Border x:Name="PART_DWC" Height="Auto" Width="Auto" CornerRadius="2" Margin="1.3" Padding="5,2">
<TextBlock Text="下部分" FontSize="12" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<!--end:下半部分的文字-->
</StackPanel>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter TargetName="PART_UPC" Property="Background" Value="#997CFC00"/>
</Trigger>
<Trigger Property="IsChecked" Value="False">
<Setter TargetName="PART_DWC" Property="Background" Value="#997CFC00"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>