zoukankan      html  css  js  c++  java
  • WPF笔记(8)样式(Styles)

          开发人员和设计人员使用样式可以对其产品的特定外观进行标准化。WPF 提供了一个强大的样式模型,其基础是 Style元素。

         虽然Resource对于在XAML中定义对象的属性十分有用。但是Resource段的主要目的还是用来定义Styles。Styles是应用在元素上的属性值的基本集合。它可以具有批处理功能,能够弥补单一的Resource属性无法在XAML中应用到多个元素的不足。例如,Page中含有大量的button,我们希望这些button都使用一些相同的属性。我们可以将这些属性定义为一个Style,然后将这个style应用到所有的button。WPF中的style还可以处理属性的变化,这些变化可能来自其他属性的触发,也可能来自事件。

         Styles类属于System.Windows命名空间。它从Object继承,并且没有子继承。

         Style放在资源里,因为Style是“批处理”的资源,它可以修改多个对象的属性值,不从属于单独的元素对象。

    TargetType 属性 (Property) 和 x:Key 属性 (Attribute) 的关系

          Styles有一个属性:x:Key属性,如果定义了此属性,就相当于是在资源中定义了一个名称为x:Key设定值的Style对象。如果没有定义此属性,那么这个Style将对属于这个Window中所有该控件类型生效。起到了批处理的效果。如:    

          如果将TargetType属性设置为 具体值(如TextBlock) 而不为样式分配 x:Key,样式就会应用于所有TextBlock元素。这种情况下,x:Key 隐式设置为 {x:Type TextBlock}。这意味着,如果将 x:Key 值显式设置为 {x:Type TextBlock} 之外的任何值,Style就不会自动应用于所有 TextBlock元素。此时,必须通过使用 x:Key 值,将样式显式应用于 TextBlock元素。如果样式位于资源部分,并且未设置样式的 TargetType属性,则必须提供 x:Key

    Setters

         Style的最重要的属性是Setters。Setters是Setter和EventSetter等对象的集合。这些对象被称作“Setters”因为他们用来设置属性和事件处理的结果。

         Setter是Style的内容属性。如:

    <Style ...>
        <Setter Property="Control.FontSize" Value="24" />
        <EventSetter ... />
        <Setter ... />
    </Style>

         msdn:http://msdn.microsoft.com/zh-cn/library/ms745683.aspx

  • 相关阅读:
    浅析count(1)、count(*)与count(列名)的执行区别
    浅析尽量不用count(*)来判断是否有数据、判断记录是否存在 exists 和 top 1 要比 count 快
    浅析MySQL中的计算列(Generated Column列)与计算字段的介绍与应用-如何让数据库中某个字段随时间自动更新
    AcWing 837. 连通块中点的数量
    AcWing 836. 合并集合
    AcWing 143. 最大异或对
    AcWing 835. Trie字符串统计
    AcWing 831. KMP字符串
    P2866 [USACO06NOV]Bad Hair Day S
    P1901 发射站
  • 原文地址:https://www.cnblogs.com/jyz/p/1296074.html
Copyright © 2011-2022 走看看