为了配合界面统一风格,在样式中添加单选按钮,RadioButton选中后,Background变成蓝色,圆角给个1000。

在样式中先添加两列,第一列显示是否选中单选按钮,而且给的高度和宽度都是20,所以显示是圆形,第二列是显示文本内容,演示看下RadioButton运行后效果。

先不添加依赖属性,只给默认样式代码:

<Style x:Key="FocusVisualStyle"><Setter Property="Control.Template"><Setter.Value><ControlTemplate><Rectangle Margin="-2" SnapsToDevicePixels="True"StrokeThickness="1" StrokeDashArray="1 2"Stroke="{StaticResource WordBlueBrush}" /></ControlTemplate></Setter.Value></Setter></Style><Style TargetType="{x:Type RadioButton}"><Setter Property="FocusVisualStyle" Value="{StaticResource FocusVisualStyle}" /><Setter Property="Background" Value="{StaticResource BackgroundLightBrush}" /><Setter Property="BorderBrush" Value="{StaticResource WordBlueBrush}"/><Setter Property="Foreground" Value="{StaticResource ForegroundMainBrush}"/><Setter Property="BorderThickness" Value="1" /><Setter Property="VerticalContentAlignment" Value="Center" /><Setter Property="HorizontalContentAlignment" Value="Center" /><Setter Property="FontSize" Value="20" /><Setter Property="Cursor" Value="Hand" /><Setter Property="Template"><Setter.Value><ControlTemplate TargetType="{x:Type RadioButton}"><Grid x:Name="templateRoot" Background="Transparent" SnapsToDevicePixels="True"><Grid.ColumnDefinitions><ColumnDefinition Width="Auto" /><ColumnDefinition Width="*" /></Grid.ColumnDefinitions><Border x:Name="radioButtonBorder"BorderBrush="{TemplateBinding BorderBrush}"BorderThickness="{TemplateBinding BorderThickness}"Background="{TemplateBinding Background}"CornerRadius="1000"HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"Margin="1,1,5,1"VerticalAlignment="{TemplateBinding VerticalContentAlignment}"Effect="{TemplateBinding Effect}"Width="20"Height="20"><Border x:Name="border" Margin="2" Background="Transparent" CornerRadius="1000"></Border></Border><ContentPresenter x:Name="contentPresenter" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" Grid.Column="1" ContentStringFormat="{TemplateBinding ContentStringFormat}"Focusable="False" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" RecognizesAccessKey="True"SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" /></Grid><ControlTemplate.Triggers><Trigger Property="IsChecked" Value="True"><Setter Property="Background" TargetName="border" Value="{StaticResource WordBlueBrush}" /></Trigger></ControlTemplate.Triggers></ControlTemplate></Setter.Value></Setter><Style.Triggers><Trigger Property="IsEnabled" Value="False"><Setter Property="Opacity" Value="0.5" /></Trigger><Trigger Property="IsChecked" Value="True"><Setter Property="BorderBrush" Value="{StaticResource WordBlueBrush}" /></Trigger><Trigger Property="IsMouseOver" Value="True"><Setter Property="BorderBrush" Value="{StaticResource WordBlueBrush}" /></Trigger><Trigger Property="IsPressed" Value="True"><Setter Property="BorderBrush" Value="{StaticResource WordBlueBrush}" /></Trigger></Style.Triggers></Style>

WPF UI框架界面开发教程(十二)相关推荐

  1. WPF UI框架界面开发教程(五)

    先看一下登录按钮效果 源码下载地址:https://download.csdn.net/download/liaohaiyin/20607269 按钮自定义样式代码 WPF 触发器有三种,分别是 Tr ...

  2. WPF UI框架界面开发教程(七)

    Button加入等待动画,先运行软件看下效果 建立BusyFrameAnimation类,在类中创建Button中依赖属性IsBusyProperty public class BusyFrameAn ...

  3. Android 10.0 SystemUI下拉状态栏UI定制化开发系列(十二)

    目录 1.概述 2.核心代码 3.核心代码部分分析 3.1 NotificationStackScrollLayout.java代码分析 3.2接下来分析Activat

  4. iOS 11开发教程(二十二)iOS11应用视图实现按钮的响应(2)

    iOS 11开发教程(二十二)iOS11应用视图实现按钮的响应(2) 此时,当用户轻拍按钮后,一个叫tapButton()的方法就会被触发. 注意:以上这一种方式是动作声明和关联一起进行的,还有一种先 ...

  5. SAP UI5 应用开发教程之二十九 - SAP UI5 的路由和导航功能介绍试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...

  6. iOS 11开发教程(二十)iOS11应用视图美化按钮之设置按钮的状态

    iOS 11开发教程(二十)iOS11应用视图美化按钮之设置按钮的状态 在示例2-2中,设置按钮的标题和颜色时,需要对按钮的状态进行设置,表示按钮在某一状态下的标题和标题颜色是什么样子.例如,UICo ...

  7. 【Visual C++】游戏开发笔记四十四 浅墨DirectX教程十二 网格模型和X文件使用面面观

    本系列文章由zhmxy555(毛星云)编写,转载请注明出处. 文章链接: http://blog.csdn.net/zhmxy555/article/details/8586540 作者:毛星云(浅墨 ...

  8. 【Visual C++】游戏开发笔记四十四 浅墨DirectX教程十二 网格模型和X文件使用面面观...

    本系列文章由zhmxy555(毛星云)编写,转载请注明出处. 文章链接:http://blog.csdn.net/zhmxy555/article/details/8586540 作者:毛星云(浅墨) ...

  9. Senparc.Weixin.MP SDK 微信公众平台开发教程(二十二):如何安装 Nuget(dll) 后使用项目源代码调试...

    最近碰到开发者问:我使用 nuget 安装了 Senparc.Weixin SDK,但是有一些已经封装好的过程想要调试,我又不想直接附加源代码项目,这样就没有办法同步更新了,我应该怎么办? 这其实是一 ...

最新文章

  1. oracle-01031+linux,Linux下,“ORA-01031: insufficient privileges”的处理
  2. 如何快速搭建一个简约美观的在线互动教室?
  3. uniapph5授权成功后返回上一页_被成功验证过的的7条选品思路(收藏)
  4. boost::fusion::as_vector用法的测试程序
  5. Taro+react开发(100):问答模块07适配
  6. linux下删除已经创建的数据库,MongoDB 数据库的创建和删除
  7. protect db by denying DDL operations
  8. C#中对 XML节点进行增、删、改、查
  9. Atitit ever note org log t99 目录 1. data 1 2. Sik dsk zip mode 1 3. Local exted stat 2 4. Recy 3 1
  10. 【理解】运用数据透视表制作三栏账
  11. Java常量池[乐乐独记]
  12. android 背景图缩放,android背景图按比例缩放方法
  13. 智能家居时代,怎样选择一把你心底里切实需要的智能门锁?
  14. 什么是软件测试,软件测试究竟是做什么的
  15. 苹果使用过程的一些小技巧
  16. OSChina 周四乱弹 ——裤子穿反就被开除了?
  17. 【稳定性day9】有赞混沌工程的实践 - 不能消灭Bug还不如与之做朋友
  18. VSCode折腾log插件
  19. Android 口袋模式
  20. GeForce GTX 970 硬件特性

热门文章

  1. DAMA试题分析:主键有什么特性?
  2. 基于Python 语言的高分二号卫星全色和多光谱遥感数据融合(锐化)
  3. MXNET GPU环境出错 cc:1288: GPU is not enabled
  4. [CF1598G]The Sum of Good Numbers
  5. matplot的基本使用
  6. 年薪90万因上班无聊起诉公司/ 马斯克不让OpenAI用推特数据训练/ 旧金山警方获准使用致命机器人…今日更多新鲜事在此...
  7. [探讨]开发者眼中的PhoneGap体验
  8. Java在线格式化JSON,美化显示
  9. php黑白图片,PS制作黑白照片效果图
  10. 抖音壁纸小程序分销源代码