wpf 自定义RadioButton控件样式
实现的效果为:

我感觉来自定义RadioButton样式和定义button空间的样式差不多,只是类型不同而已。
接下来分析一下样式代码:
<!--自定义单选按钮样式-->
<Style TargetType="RadioButton">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="RadioButton">
<Grid Width="100"
Height="22">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="30" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Image Source="Images/radio01.png" //这里的图片为灰色是的图片
Width="12"
Height="4"
x:Name="radioImage"></Image>
<TextBlock x:Name="radioContent"
Grid.Column="1"
FontFamily="Microsoft YaHei"
FontWeight="Bold"
FontSize="12"
VerticalAlignment="Center"
Foreground="#FFFFFF"
Text="{TemplateBinding Content}"></TextBlock> //这里让它显示的文本内容直接绑定到RadioButton的Content属性上
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsKeyboardFocused" //当控件获取焦点时要执行的内容
Value="true">
<Setter TargetName="radioImage"
Property="Width"
Value="22" />
<Setter TargetName="radioImage"
Property="Height"
Value="14" />
<Setter TargetName="radioImage"
Property="Source"
Value="Images/radio02.png" /> //这是当被选中时的黄色图片
<Setter TargetName="radioContent"
Property="Foreground"
Value="#F1DC21" />
</Trigger>
<Trigger Property="IsMouseOver" //当鼠标放上去时要设置的内容
Value="true">
<Setter TargetName="radioImage"
Property="Width"
Value="22" />
<Setter TargetName="radioImage"
Property="Height"
Value="14" />
<Setter TargetName="radioImage"
Property="Source"
Value="Images/radio02.png" />
<Setter TargetName="radioContent"
Property="Foreground"
Value="#F1DC21" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
XAML中代码为:
<StackPanel Grid.Row="1" Orientation="Horizontal" Margin="50,0,0,0">
<RadioButton Content="实景模式" //在这里当给RadioButton的Content属性赋值时直接对应的就是样式中的radioContent
VerticalAlignment="Center"
Grid.Row="1"
Margin="3,0,0,7"
/>
<RadioButton Content="走线模式"
VerticalAlignment="Center"
Margin="3,0,0,7" />
<RadioButton Content="拓扑模式"
VerticalAlignment="Center"
Margin="3,0,0,7"/>
</StackPanel>
wpf 自定义RadioButton控件样式的更多相关文章
- WPF自定义分页控件,样式自定义,简单易用
WPF自定义分页控件 做了许久伸手党,终于有机会贡献一波,搜索一下WPF分页控件,还是多,但是不太通用,主要就是样式问题,这个WPF很好解决,还有一个就是分页控件嘛,只关心几个数字的变动就行了,把页码 ...
- WPF 自定义TabControl控件样式
一.前言 程序中经常会用到TabControl控件,默认的控件样式很普通.而且样式或功能不一定符合我们的要求.比如:我们需要TabControl的标题能够居中.或平均分布:或者我们希望TabContr ...
- WPF 自定义DataGrid控件样式
内容转自https://www.cnblogs.com/xiaogangqq123/archive/2012/05/07/2487166.html 一.DataGrid基本样式(一) 小刚已经把Dat ...
- WPF 自定义TreeView控件样式,仿QQ联系人列表
一.前言 TreeView控件在项目中使用比较频繁,普通的TreeView并不能满足我们的需求.因此我们需要滴对TreeView进行改造.下面的内容将介绍仿QQ联系人TreeView样式及TreeVi ...
- WPF Calendar 日历控件 样式自定义
原文:WPF Calendar 日历控件 样式自定义 粗略的在代码上做了些注释 blend 生成出来的模版 有的时候 会生成 跟 vs ui界面不兼容的代码 会导致可视化设计界面 报错崩溃掉 但是确不 ...
- arcgis api for js共享干货系列之二自定义Navigation控件样式风格
arcgis api for js默认的Navigation控件样式风格如下图: 这样的风格不能说不好,各有各的爱好,审美观,这里也不是重点,这里的重点是如何自定义一套自己喜欢的样式风格呢:自己自定义 ...
- arcgis api 3.x for js 共享干货系列之二自定义 Navigation 控件样式风格(附源码下载)
0.内容概览 自定义 Navigation 控件样式风格 源码下载 1.内容讲解 arcgis api 3.x for js 默认的Navigation控件样式风格如下图:这样的风格不能说不好,各有各 ...
- WPF设置全局控件样式
原文:WPF设置全局控件样式 方法: 在资源文件APP.XAML中添加如下资源 <Application x:Class="_360UI.App" xmlns="h ...
- WPF 自定义Button控件及样式
这次通过最近做的小例子说明一下自定义Button控件和样式. 实现的效果为:
随机推荐
- 手把手教你学习DSP_硬件设计
<<手把手教你学习DSP>>顾卫刚,感觉写的不错,将感兴趣的部分摘录下俩. 1.A/D保护及矫正电路 TMS320X2812 AD输入为0-3V,用上述电路可以起到钳位作用.当 ...
- HDOJ(HDU) 2521 反素数(因子个数~)
Problem Description 反素数就是满足对于任意i(0< i < x),都有g(i) < g(x),(g(x)是x的因子个数),则x为一个反素数.现在给你一个整数区间[ ...
- http 协议的过程
当你输入某个网址的时候发生了什么? 首先:你该知道 a.http协议是应用层协议,他是浏览器像服务器请求网页,服务器返回网页的过程,他是基于tcp协议的. 1.假设随便输入输入域名 http://ww ...
- 【PHP】php+txt实现网页计数器(限IP统计方式和不限IP统计方式)
一般的网页计数器制作实现思路:首先设定存放统计数据的文件(counter.txt)——读取文件中的内容存入字符串——自加操作——以写入方式打开文件写入数据——从文件中输出统计数据——关闭文件. 代码: ...
- c++函数模板声明与定义相分离
最近在仿写stl,发现stl源码中将模板的声明与定义写在一起实在很不优雅.自己尝试用“传统”方法,及在.h文件里声明,在.cpp文件里定义,然后在main函数里包含.h头文件,这样会报链接错误.这是因 ...
- Ural-1018 Binary Apple Tree(树形dp+分组背包)
#include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #i ...
- NewSQL——优化的SQL存储引擎(TokuDB, MemSQL)+?
NewSQL 是对各种新的可扩展/高性能数据库的简称,这类数据库不仅具有NoSQL对海量数据的存储管理能力,还保持了传统数据库支持ACID和SQL等特性. NewSQL 是指这样一类新式的关系型数据库 ...
- chrome浏览器打开网页,总是跳转到2345主页的解决方法 2345.com 绑架主页
昨晚装了一个wifi共享精灵,原本以为这下好了,全宿舍都可以上网了,但是,确实噩梦的开始啊. 遇到问题:不小心在安装wifi共享精灵的时候,点到了设置2345.com为主页,后来,每次使用chrome ...
- DataFromFile
#region Copyright 2013, Andreas Hoffmann // project location ==> http://datafromfile.codeplex.com ...
- 3高并发server:多路IO之epoll
1 epoll epoll是Linux下多路复用IO接口select/poll的增强版本号,它能显著提高程序在大量并.发连接中仅仅有少量活跃的情况下的系统CPU利用率,由于它会复用文件描写叙述符 ...