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 ...
随机推荐
- JDBC学习1:详解JDBC使用
什么是JDBC JDBC(Java Database Connectivity),即Java数据库连接,是一种用于执行SQL语句的Java API,可以为多种关系数据库提供同一访问,它由一组用Java ...
- 【C语言学习】《C Primer Plus》第2章 C语言的概述
学习总结 1.#include是C预处理命令之一,#include指向的是头文件,如#include <stdio.h>,这个stdio.h就是程序需要引用的C标准库之一.里面包含了pri ...
- ListView设置headerview和footerview
[简介]headerview就是通常看到的那种listview手势下滑露出上面的部分,下拉到一定位置,松手会开始请求网络数据,然后刷新listview的列表.footerview一般就是listvie ...
- .net版本发展历史
最近装上了VS2013,发现好多新特性.新功能,公司办公还在使用VS2005.VS2008,不过用着也很顺手,在最新版Visual Studio中,微软加入了git源码管理工具,和之前的TFS大体上类 ...
- Redis实现唯一计数的3种方法分享
转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/121.html?1455855118 唯一计数是网站系统中十分常见的一个功 ...
- HTML学习入门
HTML(元素.属性) HTML: 超文本标记语言 1. 超文本即为带有链接属性的文本 2.标记即为标签 一.body属性: bgcolor:页面背景颜色 text:文字颜色 backgroun ...
- 我心中的核心组件(可插拔的AOP)~分布式Session组件
回到目录 对于目前的网站来说,为了满足高可用,高并发,高负载,一台WEB服务器已经远远不够用了,以后的WEB应用服务器应该是一种集群的环境,它们之间使用一些工具进行数据的同步,在由1台变成多台服务器时 ...
- iOS-数据持久化-偏好设置
一.简单介绍 很多iOS应用都支持偏好设置,比如保存用户名.密码.字体大小等设置,iOS提供了一套标准的解决方案来为应用加入偏好设置功能 每个应用都有个NSUserDefaults实例,通过它来存取偏 ...
- unity生成的WP8.1工程的Title本地化实现
不同于WP本身工程的实现,unity的工程在package.appxmanifest文件中已经定义了 <Resources> <Resource Language="x-g ...
- Java EE开发平台随手记6——Mybatis扩展4
这篇博客中来说一下对Mybatis动态代理接口方式的扩展,对于Mybatis动态代理接口不熟悉的朋友,可以参考前一篇博客,或者研读Mybatis源码. 扩展11:动态代理接口扩展 我们知道,真正在My ...