继续聊WPF——自定义CheckBox控件外观
- <!--当控件获得键盘焦点时的样式-->
- <Style x:Key="FocusStyle">
- <Setter Property="Control.Template">
- <Setter.Value>
- <ControlTemplate>
- <Rectangle Stroke="Red" StrokeThickness="1"/>
- </ControlTemplate>
- </Setter.Value>
- </Setter>
- </Style>
第二步,写好CheckBox的样式。
- <!--
- CheckBox的样式
- -->
- <Style TargetType="{x:Type CheckBox}">
- <Setter Property="OverridesDefaultStyle" Value="True"/>
- <Setter Property="FocusVisualStyle" Value="{StaticResource FocusStyle}"/>
- <Setter Property="SnapsToDevicePixels" Value="True"/>
- <Setter Property="Foreground" Value="White"/>
- <Setter Property="FontSize" Value="16"/>
- <Setter Property="Template">
- <Setter.Value>
- <ControlTemplate TargetType="{x:Type CheckBox}">
- <BulletDecorator FlowDirection="LeftToRight" VerticalAlignment="Center">
- <BulletDecorator.Bullet>
- <Border x:Name="bd"
- BorderThickness="1"
- BorderBrush="Red"
- MinHeight="15"
- MinWidth="15"
- VerticalAlignment="Center">
- <Border.Background>
- <LinearGradientBrush StartPoint="0,0"
- EndPoint="1,1">
- <GradientStop Color="LightGray" Offset="0.2"/>
- <GradientStop Color="White" Offset="1"/>
- </LinearGradientBrush>
- </Border.Background>
- <Path x:Name="cp" Width="12" Height="12"
- Stroke="Blue"
- StrokeThickness="3"/>
- </Border>
- </BulletDecorator.Bullet>
- <ContentPresenter Margin="2,0"/>
- </BulletDecorator>
- <!--
- 控件触发器
- -->
- <ControlTemplate.Triggers>
- <Trigger Property="IsChecked" Value="True">
- <!-- 画上一个勾 -->
- <Setter TargetName="cp" Property="Data"
- Value="M 0,6 L 6,12 12,0"/>
- <Setter Property="Foreground" Value="LightGreen"/>
- </Trigger>
- <Trigger Property="IsMouseOver" Value="True">
- <Setter TargetName="bd" Property="Background">
- <Setter.Value>
- <LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
- <GradientStop Color="Orange" Offset="0.12"/>
- <GradientStop Color="Yellow" Offset="0.92"/>
- </LinearGradientBrush>
- </Setter.Value>
- </Setter>
- </Trigger>
- </ControlTemplate.Triggers>
- </ControlTemplate>
- </Setter.Value>
- </Setter>
- </Style>
- <StackPanel Orientation="Vertical" Margin="20,20,20,20">
- <CheckBox Content="苹果"/>
- <CheckBox Content="鸡蛋"/>
- <CheckBox Content="白菜"/>
- <CheckBox Content="萝卜"/>
- <CheckBox Content="豆浆"/>
- <CheckBox Content="咸菜"/>
- <CheckBox Content="炒饭"/>
- <CheckBox Content="烧鸭饭"/>
- <CheckBox Content="叉烧饭"/>
- </StackPanel>
当项目被选中后,字体自动变为绿色,请参照上面的XAML代码。

怎么样,漂亮不?
继续聊WPF——自定义CheckBox控件外观的更多相关文章
- WPF自定义分页控件,样式自定义,简单易用
WPF自定义分页控件 做了许久伸手党,终于有机会贡献一波,搜索一下WPF分页控件,还是多,但是不太通用,主要就是样式问题,这个WPF很好解决,还有一个就是分页控件嘛,只关心几个数字的变动就行了,把页码 ...
- 浅尝辄止WPF自定义用户控件(实现颜色调制器)
主要利用用户控件实现一个自定义的颜色调制控件,实现一个小小的功能,具体实现界面如下. 首先自己新建一个wpf的用户控件类,我就放在我的wpf项目的一个文件夹下面,因为是一个很小的东西,所以就没有用mv ...
- WPF 自定义Button控件及样式
这次通过最近做的小例子说明一下自定义Button控件和样式. 实现的效果为:
- IOS开发自定义CheckBox控件
IOS本身没有系统的CheckBox组件,但是实际开发中会经常用到,所以专门写了一个CheckBox控件,直接上代码 效果图: UICheckBoxButton.h文件如下: #import #imp ...
- WPF 自定义UI控件学习
最近项目中运用到了WPF处理三维软件,在C/S结构中WPF做UI还是有很多优越性,简单的学了一点WPF知识,成功的完成项目目标.项目过度阶段对于WPF的一些基本特点有了进一步了解 .至此花费一点时间研 ...
- wpf 自定义RadioButton控件样式
实现的效果为: 我感觉来自定义RadioButton样式和定义button空间的样式差不多,只是类型不同而已. 接下来分析一下样式代码: <!--自定义单选按钮样式--> & ...
- WPF 自定义TabControl控件样式
一.前言 程序中经常会用到TabControl控件,默认的控件样式很普通.而且样式或功能不一定符合我们的要求.比如:我们需要TabControl的标题能够居中.或平均分布:或者我们希望TabContr ...
- WPF自定义用户控件不显示
1,Themes\Generic.xaml最好不要更名 "Generic.xaml"这个名称并非偶然通过上面的叙述,你可能会有冲动将Generic.xaml中的Style代码剪切出 ...
- WPF自定义动画控件 风机
一:创建WPF项目 二:在项目下添加文件Themes,在此文件下添加新项 ”资源词典“取名为 Generic.xaml 注意大小写,之前遇到因为大小写不对应,导致出错的情况Generic.xam ...
随机推荐
- 初识ASP.NET---点滴的积累---ASP.NET学习小结
差点儿相同十多天前学习完了北大青鸟的学习视频,没想到没几天的时间就看完了XML视频和牛腩的Javascript视频.学习完了也该总结总结.理理自己的思路.消化一下自己学习到的东西. 视频中的理论知识并 ...
- UISearchBar作为inputAccessoryView时的响应链
UISearchBar对象做为一个普通的视图对象加入到视图控制器的self.view中,定义.初始化.设置delegate.然后becomeFirstResponder,最后resignFirstRe ...
- vim copy termi
用vim写代码时,经常遇到这样的场景,复制多行,然后粘贴. 这样做:1. 将光标移动到要复制的文本开始的地方,按v进入可视模式.2. 将光标移动到要复制的文本的结束的地方,按y复制.此时vim会自动将 ...
- C# winform KeyPress 事件中对应的数字
C# winform KeyPress 事件中对应的数字所有e.KeyChar值的意思 常用ASCII码表 你自己看看应该就明白了 键盘 ASCII码 键盘 ASCII码 ESC 27 7 55 S ...
- hdu 2222(AC自动机模版题)
Keywords Search Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others ...
- google搜索引擎使用方法
搜索引擎命令大全!这是一个我最喜欢的Google搜索技巧的清单: link:URL = 列出到链接到目标URL的网页清单. related:URL = 列出于目标URL地址有关的网页. site:ht ...
- tp3.2 复合查询or
tp3.2 复合查询or $where['goods_name'] = array("like","%$q%");$where['goods_sn'] = ar ...
- python 13:数字列表统计方法(min(list)、max(list)、sum(list))
numbers = list(range(1,11)) print(numbers) print(min(numbers)) #获得列表最小值 print(max(numbers)) #获得列表最大值 ...
- Python 1:环境搭建及运行第一个程序
在计算机控制面板中找到系统,然后点击高级系统设置,再点击环境变量,把安装的python.exe的目录复制到下面系统变量的path栏最后面,复制前加个分号以隔开前面的变量,然后按3次确定即可退出配置.具 ...
- Centos7.5 在桌面创建AndroidStudio快捷方式
Centos7 在桌面创建AndroidStudio快捷方式 前言 最近安装了Centos7,打算将开发平台转移到Linux下,安装好AndroidStudio后,桌面没有快捷方式有些不习惯,随自己创 ...