WPF系列:样式
一般简单的样式我们可以直接写在控件中
<Button Canvas.Left="20" Canvas.Top="30" Width="100" Height="120" Content="A"/>
也可以通过Style属性定义该系列控件的样式
<Style TargetType="{x:Type Button}"> <Setter Property="Background" Value="Green"></Setter> <Setter Property="FontSize" Value="24" ></Setter> </Style>
然后通过键值,可以赋予该系列某一类型特定的样式,这个有点像CSS里的class
<Style x:Key="ButtonMenu"> <Setter Property="Button.Background" Value="Red"></Setter> <Setter Property="Button.Width" Value="100"></Setter> <Setter Property="Button.Height" Value="100"></Setter> <Setter Property="Button.FontSize" Value="24" ></Setter> </Style>
WPF中的样式还可以通过BasedOn属性继承样式
<Style x:Key="ButtonTitle" BasedOn="{StaticResource ButtonMenu}" TargetType="Button"> <Setter Property="Background"> <Setter.Value> <LinearGradientBrush> <GradientStop Offset="0.2" Color="LightBlue"></GradientStop> <GradientStop Offset="0.5" Color="Blue"></GradientStop> <GradientStop Offset="0.9" Color="DarkBlue"></GradientStop> </LinearGradientBrush> </Setter.Value> </Setter> <Setter Property="Button.Width" Value="100"></Setter> <Setter Property="Button.Height" Value="100"></Setter> </Style>
最后把所有代码合在一起
<Canvas> <Canvas.Resources> <Style TargetType="{x:Type Button}"> <Setter Property="Background" Value="Green"></Setter> <Setter Property="FontSize" Value="24" ></Setter> </Style> <Style x:Key="ButtonMenu"> <Setter Property="Button.Background" Value="Red"></Setter> <Setter Property="Button.Width" Value="100"></Setter> <Setter Property="Button.Height" Value="100"></Setter> <Setter Property="Button.FontSize" Value="24" ></Setter> </Style> <Style x:Key="ButtonTitle" BasedOn="{StaticResource ButtonMenu}" TargetType="Button"> <Setter Property="Background"> <Setter.Value> <LinearGradientBrush> <GradientStop Offset="0.2" Color="LightBlue"></GradientStop> <GradientStop Offset="0.5" Color="Blue"></GradientStop> <GradientStop Offset="0.9" Color="DarkBlue"></GradientStop> </LinearGradientBrush> </Setter.Value> </Setter> </Style> </Canvas.Resources> <Button Canvas.Left="20" Canvas.Top="30" Width="100" Height="120" Content="A"/> <Button Canvas.Left="150" Canvas.Top="30" Style="{StaticResource ButtonMenu}" Content="B" /> <Button Canvas.Left="280" Canvas.Top="30" Style="{StaticResource ButtonTitle}" Content="C" /> </Canvas>
WPF系列:样式的更多相关文章
- WPF系列教程——(一)仿TIM QQ界面 - 简书
原文:WPF系列教程--(一)仿TIM QQ界面 - 简书 TIM QQ 我们先来看一下TIM QQ长什么样,整体可以将界面分为三个部分 TIM QQ 1. 准备 阅读本文假设你已经有XAML布局的基 ...
- WPF系列 —— 控件添加依赖属性(转)
WPF系列 —— 控件添加依赖属性 依赖属性的概念,用途 ,如何新建与使用.本文用做一个自定义TimePicker控件来演示WPF的依赖属性的简单应用. 先上TimePicker的一个效果图. 概念 ...
- [WPF系列]-数据邦定之DataTemplate 对分层数据的支持
到目前为止,我们仅讨论如何绑定和显示单个集合. 某些时候,您要绑定的集合包含其他集合. HierarchicalDataTemplate 类专用于 HeaderedItemsControl 类型以显示 ...
- [WPF系列]-数据邦定之DataTemplate 根据对象属性切换模板
引言 书接上回[WPF系列-数据邦定之DataTemplate],本篇介绍如何根据属性切换模板(DataTemplate) 切换模板的两种方式: 使用DataTemplateSelecto ...
- [WPF系列]-TreeView的常用事项
引言 项目经常会用Treeview来组织一些具有层级结构的数据,本节就将项目使用Treeview常见的问题作一个总结. DataBinding数据绑定 DataTemplate自定义 <Hier ...
- [WPF系列]从基础起步学习系列计划
引言 WPF技术已经算不什么新技术,一搜一大把关于WPF基础甚至高级的内容.之前工作中一直使用winform所以一直没有深入学习WPF,这次因项目中使用了WPF技术来实现比较酷的展示界面.我在这里只是 ...
- 求助 WPF ListViewItem样式问题
求助 WPF ListViewItem样式问题 .NET 开发 > Windows Presentation Foundation Вопрос 0 Нужно войти <Style ...
- WPF GroupBox 样式分享
原文:WPF GroupBox 样式分享 默认样式 GroupBox 样式分享" title="WPF GroupBox 样式分享"> 添加样式后 GroupBox ...
- WPF DataGrid 样式设置
隔行换色,鼠标单击,悬浮样式都有,其具体效果如图 1 所示. 图 1 WPF DataGrid 样式设置效果图 其中: 界面设计代码下所示 ? + 查看代码 1 2 3 4 5 6 7 8 9 10 ...
随机推荐
- 淘宝UWP桌面版公测-谁需要邀请码?
今天taobaoUWP桌面版上线beta测试了.哪位朋友需要邀请码的,请与我联系. 前提是,您的PC已经升级到Windows 10 10586版本了,否则无法使用. 邀请码数量有限,一人一枚,共20枚 ...
- IE Javascript 进阶调试
大多数人用IE都知道IE有个F12 开发者工具可以用来调试网页的各种问题,本文以IE10为例,尽量少谈基础,只说说IE脚本调试中的进阶技巧.如果你的网页脚本在IE上运行出现问题,希望下面的技巧可以帮你 ...
- 浅谈Excel开发:八 Excel 项目的安装部署
前面几篇文章讲解了Excel开发的几个比较主要的也是比较重要的方面,比如菜单系统,Excel对象模型,自定义函数,RTD函数,异步自定义函数,用户自定义任务面板等,在实际开发中我们还会遇到各种“千奇百 ...
- js模版引擎handlebars.js实用教程——如何引入Handlebars.js
返回目录 Jquery插件,第一步当然要引用Jquery啦,然后引用Handlebars.js即可,仅仅需要这两个js文件. <script type="text/javascript ...
- NanoProfiler - 适合生产环境的性能监控类库 之 实践ELK篇
上期回顾 上一期:NanoProfiler - 适合生产环境的性能监控类库 之 大数据篇 上次介绍了NanoProfiler的大数据分析理念,一晃已经时隔一年多了,真是罪过! 有朋友问到何时开源的问题 ...
- Git学习笔记(1)——安装,配置,创建库,文件添加到库
初次接触git,为了记忆深刻,把学习的简单流程记录下来. 本文记录了Git在Ubuntu上的安装,配置,以及创建版本库和往库中添加文件的过程. 1.Git的安装:(Ubuntu-Linux非常友好的安 ...
- CSS的两个小知识点 伪类选择器和display:table-cell
li:first-child {color:red} li:nth-child(3n) {color: red} 在对nth-child传参的时候,已经直接用公式,3n就表示3的倍数.多用伪类和伪元素 ...
- DDD~领域事件与事件总线
回到目录 谈谈它 终于有些眉目了,搜刮了很多牛人的资料,英文的,中文的,民国文的,终于小有成就了,同时也做了个DEMO,领域事件这东西好,但需要你明白它之后才会说好,而对于明白领域事件这件事来说,它的 ...
- EF架构~豁出去了,为了IOC,为了扩展,改变以前的IRepository接口
回到目录 使用了4年的IRepository数据仓储接口,今天要改变了,对于这个数据仓储操作接口,它提倡的是简洁,单纯,就是对数据上下文的操作,而直正的数据上下文本身我们却把它忽略了,在我的IRepo ...
- c#动态调用Webservices
方式一: Hashtable ht = new Hashtable(); ht.Add("a", "testhelloworld"); XmlDocument ...