WPF样式学习第一天
因为上班的公司要我用wpf写软件,刚毕业出来,学校也没教过wpf,只会winform,再加上wpf用winform的框架写法也能实现很多需求,但是就不能体现wpf的优点了,今天就先来学wpf的样式,因为对美的认识不足,所以排版不好,对代码有意见或建议的,希望多多提出,我是初学者。
今天就先弄个Button的简单样式吧

ButtonStyle是源名称。
Property="Control.FontFamily" 是用来声明字体的,后边跟着的Value的值是字体类型(下同)
Property="Control.FontSize" 设置字体大小
Property="Control.FontWeight" 字体样式,例如Value="Black"是设置成黑体字体的意思,
这样设置好后,拉一个button控件到窗体,然后加上Style="{StaticResource ButtonStyle}"就可以了,多个button绑定同一个数据源所有绑定的button的样式都是相同的
改数据源就可以达到修改所有button的目的,要修改某一个button,就只需要在那个button上添加样式即可,例如FontSize="15",就会覆盖数据源的字体大小。
不过这个写法,有一个缺的,就是,所有包含FontFamily,FontSize,FontWeight 样式的控件都会有效果,如果只改button的效果,就需要指定对象
把 <Style x:Key="ButtonStyle">写成<Style x:Key="ButtonStyle" TargetType="Button">
这样只有button控件可以绑定这个数据源了其他控件绑定会报错的
<Style TargetType="Button"
        BasedOn="{StaticResource ButtonStyle}">
            <Setter Property="Control.Foreground" Value="Green"/>
        </Style>
加上这一段后,就是所有button都自行绑定的了在控件里就不写 Style="{StaticResource ButtonStyle}"这个绑定了,拖出来的button控件都自行绑定到设置好的样式
今天就这样,一天学一点,哈哈哈
WPF样式学习第一天的更多相关文章
- WPF样式学习三
		
SnapsToDevicePixels 获取或设置在呈现过程,该值来确定呈现此元素是否应使用特定于设备的像素设置. 这是一个依赖项属性. true ,如果元素应以符合呈现到设备像素;否则, false ...
 - WPF基础学习第一天
		
格式 1.XAML格式: <Button x:Name="btnClick" Content="按钮" HorizontalAlignment=" ...
 - WPF样式学习:ToolBar的使用
		
隐藏拖动把手: 设置ToolBar属性 ToolBarTray.IsLocked="True",可以达到隐藏拖动把手的目的 private void ToolBar_Loaded( ...
 - WPF样式与触发器(3)
		
WPF中的各类控件元素, 都可以自由的设置其样式. 诸如: 字体(FontFamily) 字体大小(FontSize) 背景颜色(Background) 字体颜色(Foreground) 边距(Mar ...
 - MapServer Tutorial——MapServer7.2.1教程学习——第一节用例实践:Example 1.4 Labeling the Map
		
MapServer Tutorial——MapServer7.2.1教程学习——第一节用例实践:Example 1.4 Labeling the Map 一.前言 MapServer拥有非常灵活的标签 ...
 - WPF样式(Style)入门
		
原文:WPF样式(Style)入门 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/qq_34802416/article/details/78231 ...
 - Bootstrap WPF Style,Bootstrap风格的WPF样式
		
简介 GitHub地址:https://github.com/ptddqr/bootstrap-wpf-style 此样式基于bootstrap-3.3.0,样式文件里的源码行数都是指的这个版本.CS ...
 - Magento学习第一课——目录结构介绍
		
Magento学习第一课--目录结构介绍 一.Magento为何强大 Magento是在Zend框架基础上建立起来的,这点保证了代码的安全性及稳定性.选择Zend的原因有很多,但是最基本的是因为zen ...
 - YII2学习第一天
		
YII2学习第一天,之前稍微看了看TP,感觉和自己的理念不是很符合,然后转学YII2了. 使用的文档是https://github.com/yiisoft/yii2/tree/master/docs/ ...
 
随机推荐
- PAT 1010 Radix (25分) radix取值无限制,二分法提高效率
			
题目 Given a pair of positive integers, for example, 6 and 110, can this equation 6 = 110 be true? The ...
 - Pytorch数据集读取
			
Pytorch中数据集读取 在机器学习中,有很多形式的数据,我们就以最常用的几种来看: 在Pytorch中,他自带了很多数据集,比如MNIST.CIFAR10等,这些自带的数据集获得和读取十分简便: ...
 - java 面向对象面试题,问答题,构造方法,抽象类,继承,多态,接口,异常总结;
			
一,构造方法的特点 面向对象的思想是如何在java展现的呢? 就是通过类和对象 类是一组相关的属性和行为的集合.是一个抽象的概念. 对象是该类事物的具体表现形式.具体存在的个体. 一.抽象类的抽象方法 ...
 - nginx配置之虚拟主机功能
			
虚拟主机功能: 一个nginx下运行多个网址(站点域名) 方式一:nginx.conf中的http{}中的每一个server{}就是一个站点(相同端口): #虚拟主机1 server { listen ...
 - 每次找Internet选项感到抓狂?一键打开!
			
WIN+R运行,输入inetcpl.cpl,就可以打开了!
 - UIStackView上手教程
			
https://www.jianshu.com/p/19fbf3ee2840 https://www.cnblogs.com/bokeyuanlibin/p/5693575.html https:// ...
 - javascript代码重构需要考虑的问题(一)
			
1.将数组的长度进行存储,循环时就不用每次去读取一次数组长度,从而提升性能 例如: for (var i = 0, len = arr.length; i < len; i++) { //do ...
 - 关于mobileSelect.js日期数据获取封装,动态时间,封装
			
传入起始年份和起始月份 得到 插件的标准格式放到 效果 let getAllDatas = (stime, etime) => { //接收传进来的参数月份 var data_M = etime ...
 - 【Java8新特性】面试官:谈谈Java8中的Stream API有哪些终止操作?
			
写在前面 如果你出去面试,面试官问了你关于Java8 Stream API的一些问题,比如:Java8中创建Stream流有哪几种方式?(可以参见:<[Java8新特性]面试官问我:Java8中 ...
 - Java中的集合(三)继承Collection的Queue接口
			
Java中的集合(三)继承Collection的Queue接口 一.Queue介绍 Queue接口继承自Collection接口,是Java中定义的一种队列数据结构,元素是有序的(按插入顺序排序),先 ...