[WPF]控件应用多个样式
最近在做WPF项目,公司没有专门的UI工程师,什么都要自己做。接触WPF已经有好几年了,自定义样式什么的也可以做一些。WPF在使用样式的时候一般都是 Style="{StaticResource styleKey}"
。能不能使控件同时应用多个 Style,类似于 HTML 中 class="class1 class2 class3"
呢?
WpfMultiStyle
Google 一番,很多人都是通过 BaseOn的方式来实现,虽然能达到要求,但是不够灵活,也不是我想要的。
最终在 stackoverflow 有所收货。他是通过 MarkupExtension 扩展实现的。
整理之后发布在 Nuget,可以直接通过Nuget引用,也可以直接把源码拷贝到项目中直接使用。
源码在 https://github.com/PxAndy/WpfMultiStyle。
使用
参照 Bootstrap 的按钮写了几个样式。具体的样式代码就不贴了,感兴趣的可以直接去 WpfMultiStyle.Test/MainWindow.xaml 看看。
引入命名空间
xmlns:wms="clr-namespace:WpfMultiStyle;assembly=WpfMultiStyle"
应用样式
以 Button
为例:
<Button Style="{wms:MultiStyle btn btn-default btn-lg}" Content="Large button" />
运行
看起来就是下面的样子:
后记
由于之前不能在设计时显示效果,后面又做了优化,并且新增了附加属性实现的方式,这种方式可以在设计时实时显示效果。
<Button wms:Apply.MultiStyle="btn btn-primary btn-lg" Content="Large button" />
参考
How to apply multiple styles in WPF
转载于:https://www.cnblogs.com/ainijiutian/p/apply-multiple-styles-to-one-element-for-wpf.html
[WPF]控件应用多个样式相关推荐
- WPf控件模板缺省样式
WPF控件模板缺省样式:http://www.cnblogs.com/khler/archive/2009/07/14/1523043.html 转载于:https://www.cnblogs.com ...
- WPF 控件专题 ComboBox 自定义样式
1.ComboBox 介绍 ComboBox 表示带有下拉列表的选择控件,通过单击控件上的箭头可显示或隐藏下拉列表.也叫下拉列表控件. ******************************** ...
- WPF 控件设计艺术[开篇]
WPF 控件设计艺术--样式.模板.触发器.数据绑定 WPF 控件设计艺术--样式.模板.触发器.数据绑定:围绕WPF控件设计,从样式.模板.触发器和数据绑定触发,引导初学者快速设计和使用WPF控件设 ...
- wpf控件样式管理示意图
原文:wpf控件样式管理示意图
- WPF 控件样式及样式事件设置
实例下载:WPF控件样式及样式事件设置-C#文档类资源-CSDN下载 封装用户控件实例:图片选择Checkbox(用户控件)-C#文档类资源-CSDN下载 1.直接在代码中设置控件样式(例:设置按键圆 ...
- WPF控件样式、模板
初次写博客,新手请多指教. 写WPF已有一年有余了,平时在工作项目当中喜欢总结一些公用库,通用样式之类的,以便于日后工作中遇到,可以直接复用,提供工作效率. 本文提供 Windows.Button.S ...
- wpf控件开发基础(1)
从现在开始,我将尝试写有关wpf控件开发相关的知识,把文章这对我来说很难,所以这个系列的文章在时间跨度上可能会拖的比较长.我希望我介绍是比较详细的,而不仅仅是一个简单的控件开发流程.我是一个真正的We ...
- [转] 使用模板自定义 WPF 控件
[转] 使用模板自定义 WPF 控件 ...
- WPF 控件库——仿制Windows10的进度条
WPF 控件库--仿制Windows10的进度条 原文:WPF 控件库--仿制Windows10的进度条 一.其实有现成的 先来看看Windows10进度条的两种模式: 网上有不少介绍仿制Window ...
- wpf初学者-wpf控件简单介绍
本文大纲 1.基本控件介绍与用法. 基本控件介绍与用法 文本控件 Label控件 label控件:一般用户描述性文字显示. 在Label控件使用时,一般给予用户提示.用法上没有什么很特殊的,label ...
最新文章
- linux下=号与==号
- 斜面孔如何绘制_journal of neuroscience:面孔的神经表征与眼动模式相协调
- 5个无聊Python程序,用Python整蛊你的朋友们吧
- ITNEXT :“这个项目可能会改变我们使用 Kubernetes 的方式”
- java基础----集合之Map集合基本方法的使用以及遍历
- python基础十一之迭代器和生成器
- Java笔记-Java中备忘录模式
- XTU 1252 Defense Tower
- Vue.js之初印象
- mysql 大于小于不可在一个不等式中同时写
- FPGA原理图设计----Arria II 系列FPGA设计(SATA)
- 易语言解析html实例,易语言总使用正则表达式实例解析
- POI 合并单元格后设置列宽自适应的问题
- 智能手机网页制作12个注意事项
- 我在b站学数据库 (九):函数
- Vmware中Server配置静态IP地址
- Android M及以上版本系统 悬浮窗权限 的解决方案
- Apache ZooKeeper【动物管理员】
- 1.神奇的字符串之快速求和
- SQL语言_3 模糊查询和聚合函数