Checkbox 模板和样式

 1     <Style TargetType="{x:Type CheckBox}">
 2         <Setter Property="FontFamily" Value="Microsoft YaHei" />
 3         <Setter Property="FontSize" Value="12" />
 4         <Setter Property="FocusVisualStyle" Value="{x:Null}" />
 5         <Setter Property="Background" Value="{DynamicResource ButtonBackground}" />
 6         <Setter Property="BorderBrush" Value="{DynamicResource ButtonBorder}" />
 7         <Setter Property="Foreground" Value="{DynamicResource WindowText}" />
 8         <Setter Property="BorderThickness" Value="1" />
 9         <Setter Property="Template">
10             <Setter.Value>
11                 <ControlTemplate TargetType="{x:Type CheckBox}">
12                     <Grid x:Name="LayoutRoot" Margin="{TemplateBinding Padding}">
13                         <Grid.ColumnDefinitions>
14                             <ColumnDefinition Width="Auto" />
15                             <ColumnDefinition Width="*" />
16                         Grid.ColumnDefinitions>
17                         <Border x:Name="CheckBorder" Width="16" Height="16" Margin="0,1,4,0" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}">
18                             <Grid>
19                                 <Path x:Name="CheckMark"
20                                       Width="10" Height="10"
21                                       Margin="2"
22                                       Data="F1M15,21L22,28 32.9999,14.0001 35.9999,17.0001 22,34 12.0001,24 15,21z"
23                                       Fill="{TemplateBinding Foreground}"
24                                       Stretch="Fill" Visibility="Collapsed" />
25                                 <Rectangle x:Name="Indeterminate" Width="8" Height="8" Margin="4" Fill="{TemplateBinding Foreground}" Visibility="Hidden" />
26                             Grid>
27                         Border>
28                         <ContentPresenter Grid.Column="1"
29                                           Margin="{TemplateBinding Padding}"
30                                           HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
31                                           VerticalAlignment="Center"
32                                           Content="{TemplateBinding Content}"
33                                           ContentStringFormat="{TemplateBinding ContentStringFormat}"
34                                           ContentTemplate="{TemplateBinding ContentTemplate}"
35                                           Focusable="False" RecognizesAccessKey="True"
36                                           SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
37                     Grid>
38                     <ControlTemplate.Triggers>
39                         <MultiDataTrigger>
40                             <MultiDataTrigger.Conditions>
41                                 <Condition Binding="{Binding IsThreeState, RelativeSource={RelativeSource Self}}" Value="True" />
42                                 <Condition Binding="{Binding IsChecked, RelativeSource={RelativeSource Self}}" Value="True" />
43                             MultiDataTrigger.Conditions>
44                             <Setter Property="Foreground" Value="{DynamicResource ButtonTextDisabled}" />
45                             <Setter TargetName="CheckMark" Property="Visibility" Value="Collapsed" />
46                             <Setter TargetName="Indeterminate" Property="Visibility" Value="Visible" />
47                         MultiDataTrigger>
48                         <Trigger Property="IsEnabled" Value="False">
49                             <Setter Property="Foreground" Value="{DynamicResource ButtonTextDisabled}" />
50                         Trigger>
51                         <Trigger Property="IsChecked" Value="True">
52                             <Setter TargetName="CheckMark" Property="Visibility" Value="Visible" />
53                             <Setter TargetName="Indeterminate" Property="Visibility" Value="Collapsed" />
54                         Trigger>
55                         <Trigger Property="IsMouseOver" Value="True">
56                             <Setter TargetName="CheckBorder" Property="Background" Value="{DynamicResource ButtonBackgroundHover}" />
57                             <Setter TargetName="CheckBorder" Property="BorderBrush" Value="{DynamicResource ButtonBorderHover}" />
58                             <Setter TargetName="CheckMark" Property="Fill" Value="{DynamicResource ButtonTextHover}" />
59                         Trigger>
60                         <Trigger Property="IsPressed" Value="True">
61                             <Setter TargetName="CheckBorder" Property="Background" Value="{DynamicResource ButtonBackgroundPressed}" />
62                             <Setter TargetName="CheckBorder" Property="BorderBrush" Value="{DynamicResource ButtonBorderPressed}" />
63                             <Setter TargetName="CheckMark" Property="Fill" Value="{DynamicResource ButtonTextPressed}" />
64                         Trigger>
65                         <Trigger Property="IsFocused" Value="True">
66                             <Setter TargetName="CheckBorder" Property="BorderBrush" Value="{DynamicResource Accent}" />
67                         Trigger>
68                     ControlTemplate.Triggers>
69                 ControlTemplate>
70             Setter.Value>
71         Setter>
72     Style>

 

应用

1 <CheckBox Content="checkbox"/>

 

 

引用:

https://msdn.microsoft.com/zh-cn/library/ms752319(v=vs.110).aspx

 

一些疑点将会在后期补充

转载于:https://www.cnblogs.com/SunsetAzure/p/6170223.html

你可能感兴趣的:(java,前端)