来自:http://hi.baidu.com/shop%B0%C9/blog/item/9d771ef4a7b8182dbc3109ca.html

Silverlight中的样式写法与普通的CSS有异曲同工之处,分为内联样式和全局样式。
内联样式是在XAML中定义控件样式,唯一不方便。eg:

引用内容
<Canvas Background="#46461F">
     <Button Width="200" Height="60" Background="Red"
             Canvas.Top="90" Canvas.Left="30" Content="提 交"
             FontFamily="微软雅黑"
             FontSize="24"
             FontWeight="Bold"
             Foreground="Green"/>
    
     <Button Width="200" Height="60" Background="Red"
             Canvas.Top="90" Canvas.Left="260" Content="取 消"
             FontFamily="微软雅黑"
             FontSize="24"
             FontWeight="Bold"
             Foreground="Red"/>
</Canvas>

效果如下:

其中Button控件附加了一些样式属性,样式不可重用,页面XAML代码混乱等,这些缺点其实类似于在HTML中直接设置元素的样式。一种推荐的方式是应该使用全局的样式。

全局样式是在App.xaml中编辑样式,在其他XAML中调用的样式。将一下代码写到App.xaml中

引用内容
<Application.Resources>
     <Style x:Key="button1" TargetType="Button">
         <Setter Property="FontFamily" Value="微软雅黑"></Setter>
         <Setter Property="FontSize" Value="24"></Setter>
         <Setter Property="Foreground" Value="Green"></Setter>
         <Setter Property="Background" Value="Red"></Setter>
     </Style>
     <Style x:Key="button2" TargetType="Button">
         <Setter Property="FontFamily" Value="微软雅黑"></Setter>
         <Setter Property="FontSize" Value="24"></Setter>
         <Setter Property="Foreground" Value="Red"></Setter>
         <Setter Property="Background" Value="Red"></Setter>
     </Style>
</Application.Resources>

通过Style元素指定,需要设置唯一的一个Key,类似于CSS中的类名或者ASP.NET 2.0中Skin功能,并且通过TargetType指定该样式将使用在哪类控件上,每一个属性都用Setter来指定。在XAML中,通过StaticResource标记句法来指定具体的样式:

引用内容
<Canvas Background="#46461F">
     <Button Width="200" Height="60"
             Canvas.Top="90" Canvas.Left="30" Content="提 交"
             Style="{StaticResource button1}"/>
    
     <Button Width="200" Height="60"
             Canvas.Top="90" Canvas.Left="260" Content="取 消"
             Style="{StaticResource button2}"/>
</Canvas>

其中的KEY可以理解为CSS中的ID(#),TargetType为样式赋予的类型是什么。相比较上面的XAML文件,现在代码已经干净多了,这使得我们可以只专注于应用程序的业务,而无需考虑它的外观(在Beta1中似乎有些属性设置后会报错)。运行后效果如下:

样式重写是指在定义全局样式后,仍可以在附加全局样式的控件上重新定义某些样式
如上面的示例中,我们在XAML中通过属性Foreground指定第一个按钮的前景色为蓝色:

引用内容
<Canvas Background="#46461F">
     <Button Width="200" Height="60"
             Canvas.Top="90" Canvas.Left="30" Content="提 交"
             Style="{StaticResource button1}"
             Foreground="Blue"
             />
    
     <Button Width="200" Height="60"
             Canvas.Top="90" Canvas.Left="260" Content="取 消"
             Style="{StaticResource button2}"/>
</Canvas>

尽管我们在全局样式中指定第一个按钮的前景色为绿色,通过内联样式重写后,它显示为蓝色:

转:Silverlight样式写法相关推荐

  1. Vue 中英文 组件 样式 写法

    Vue 中英文 组件 样式 写法 Vue 项目国际化样式处理 一.全局(main.js)添加自定义指令: v-lang 会自动添加 语言对应的 class [中:zh,英:en] Vue.direct ...

  2. react 的样式写法

    react 的样式写法 内联样式 const Home3 = function () {return (//这里第一个大括号表示要插入js语法了,第二个大括号表示对象的括号<div style ...

  3. html自定义横纵向滚动条,详解css3自定义滚动条样式写法

    本文介绍了css3自定义滚动条样式写法,分享给大家,具体如下: 先简单介绍一下各个属性 ::-webkit-scrollbar :滚动条整体部分,其中的属性有width,height,backgrou ...

  4. html5中行内样式写法,react怎么写行内样式?

    react怎么写行内样式?下面本篇文章给大家介绍一下react 行内样式几种写法.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. react 行内样式几种写法 法一 这是评论列表组件 ...

  5. 复习微信小程序input组件和wxss样式写法。

    Input组件 输入框组件(参考小程序文档)写的相当清楚.. <view><text>请输入第一个数字</text><input type='number'v ...

  6. Vue中动态绑定style样式写法

    1. 动态绑定style样式注意点 通过短横杠(-)连接的属性名都要转为驼峰形式,例:font-size要变成fontSize: 如果直接写样式属性的值,需要用引号引起来,例:fontSize: '1 ...

  7. html5 去掉 li的样式,css li 去掉点的样式写法

    li{ list-style: url("pre.gif") outside circle; } 直接变色 li{ color:#f00; } 关于这个list-style-typ ...

  8. html日历表样式写法,css+html实现简单的日历

    这篇文章主要为大家详细介绍了由html.css.javascript结合实现的简单日历,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 web页面中很多地方都会用到日历显示,选择等,本文用html. ...

  9. 清除浮动的四种样式写法

    /* 清除浮动1 */ /* 添加额外标签使用 */ .clear { clear: both; } /* 清除浮动样式2 */ .clearfix { overflow: auto; /* over ...

最新文章

  1. 一次I/O问题引发的P0重大故障[改版重推]
  2. 一文看完吴恩达最新演讲精髓,人工智能部署的三大挑战及解决方案
  3. linux查看所有用户 用户组的方法(修改用户组)
  4. execl中设置的格式无法实现
  5. 分享几个可供学习,休闲的网站
  6. is 与 as 数据类型的操作 0108
  7. VMware在RSA大会上的新发布
  8. Entity Resolution(实体解析)
  9. 8.性能之巅 洞悉系统、企业与云计算 --- 文件系统
  10. 小程序:微信小程序开发
  11. Bloom Filter的基本原理和变种
  12. YUV420及YUV422格式的采集存储方式
  13. android+流量防火墙,流量防火墙APP
  14. android小米手机变慢,小米手机出现变慢卡顿现象怎么办 教你如何让小米手机跑的更快的方法...
  15. Hive解决return code 3问题
  16. 图像增强(空间域)——灰度变换
  17. [ linux ] vim 编辑器的三种模式介绍
  18. python爬虫爬取王者荣耀官网全部英雄头像(源码分享)
  19. 陳三甲网络笔记:王力宏直播买课600多万,你能否年赚30万
  20. 看看成功例子 四款iPhone音乐APP应用赏析

热门文章

  1. FileDownloader 很棒的文件下载库
  2. POJ2594 Treasure Exploration[DAG的最小可相交路径覆盖]
  3. 课程导入导出中的知识点操作
  4. Java重写equals()和hashCode()
  5. 企业管理软件的需求描述方法
  6. javamail.providers not found
  7. 【跃迁之路】【578天】程序员高效学习方法论探索系列(实验阶段335-2018.09.06)...
  8. 关于zipfile解压出现的字符编码问题
  9. vue+elementUI项目的踩坑~~持续更新
  10. 浏览器默认标签样式总结及css初始化程序(转)