WPF 实现颜色的选择
<Window x:Class="WpfApp1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfApp1"
mc:Ignorable="d"
Title="MainWindow" Height="250" Width="400"
FontFamily="Microsoft YaHei" FontWeight="ExtraLight" >
<Window.Resources>
<Style x:Key="RadioThemeColor" TargetType="RadioButton">
<Setter Property="Margin" Value="1"/>
<Setter Property="Background" Value="#e892ca"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="RadioButton">
<Grid Background="{TemplateBinding Background}" Width="30" Height="30" Margin="{TemplateBinding Margin}">
<Border x:Name="_borderOver" Background="Transparent" BorderBrush="Transparent" BorderThickness="1" Margin="1">
</Border>
<Border x:Name="_borderChecked" Visibility="Collapsed" Background="#88000000" HorizontalAlignment="Right" VerticalAlignment="Bottom" Width="15" Height="15">
<Path Data="M0,5 5,10 13,1" Margin="2 2 0 0" Stroke="White" StrokeThickness="1"/>
</Border>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="HasContent" Value="True">
<Setter Property="FocusVisualStyle">
<Setter.Value>
<Style>
<Setter Property="Control.Template">
<Setter.Value>
<ControlTemplate>
<Rectangle Margin="14,0,0,0" SnapsToDevicePixels="True" Stroke="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}" StrokeThickness="1" StrokeDashArray="1 2"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Setter.Value>
</Setter>
</Trigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="BorderBrush" TargetName="_borderOver" Value="White"/>
</Trigger>
<Trigger Property="IsChecked" Value="True">
<Setter Property="Visibility" TargetName="_borderChecked" Value="Visible"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Window.Resources>
<Grid>
<UniformGrid Columns="4" Rows="2" Height="80">
<RadioButton Style="{StaticResource RadioThemeColor}" Background="#073154" IsChecked="True"></RadioButton>
<RadioButton Style="{StaticResource RadioThemeColor}" Background="#996699"></RadioButton>
<RadioButton Style="{StaticResource RadioThemeColor}" Background="#336633"></RadioButton>
<RadioButton Style="{StaticResource RadioThemeColor}" Background="#DB3E3E"></RadioButton>
<RadioButton Style="{StaticResource RadioThemeColor}" Background="#666666"></RadioButton>
<RadioButton Style="{StaticResource RadioThemeColor}" Background="#0066CC"></RadioButton>
<RadioButton Style="{StaticResource RadioThemeColor}" Background="#FF9933"></RadioButton>
<RadioButton Style="{StaticResource RadioThemeColor}" Background="#663366"></RadioButton>
</UniformGrid>
</Grid>
</Window>
效果:
参考链接:https://www.cnblogs.com/xiaomingg/p/8727807.html