《Programming WPF》翻译 第5章 3.命名属性

通过把同样的内嵌样式提升到资源中(正如第一章介绍的),我们可以给它 一个名字,以及按名字使用它在我们的Button实例上,正如示例5-5。

示例5-5

<!-- Window1.xaml -->
<Window >

  <Window.Resources>
    <Style x:Key="CellTextStyle">
      <Setter Property="Control.FontSize" Value="32" />
      <Setter Property="Control.FontWeight" Value="Bold" />
    </Style>
  </Window.Resources>

  <Button Style="{StaticResource CellTextStyle}"  x:Name="cell00" />

</Window>

在示例5-5中,我们在属性中使用到Control前缀取代Button前缀,从而允许 样式更广泛的应用,正如我们将要看到的。

5.3.1 TargetType属性

方便起见,如果所有的属性可以在一个共享类中设置,像我们示例中的 Control,我们可以提升这个类的前缀,放入TargetType属性中,并将其从属性 的名称中移除掉。如示例5-6所示。

示例5-6

<Style x:Key="CellTextStyle" TargetType="{x:Type Control}">
  <Setter Property="FontSize" Value="32" />
  <Setter Property="FontWeight" Value="Bold" />
</Style>

当提供了一个TargetType属性,你能够只设置该类型可接受的属性。如果你 想要在继承树下扩展一组大量的属性,你可以通过使用一个派生类型来做到这些 ,如示例5-7。

示例5-7

<Style x:Key="CellTextStyle" TargetType="{x:Type Button}">

  <!-- IsCancel is a Button-specific property -->
  <Setter Property="IsCancel" Value="False" />
  <Setter Property="FontSize" Value="32" />
  <Setter Property="FontWeight" Value="Bold" />
</Style>

时间: 2024-08-24 22:31:48

《Programming WPF》翻译 第5章 3.命名属性的相关文章

《Programming WPF》翻译 第9章 4.模板

对一个自定义元素最后的设计考虑是,它是如何连接其可视化的.如果一个元素直接从 FrameworkElement中派生,这将会适当的生成它自己的可视化.(第7章描述了如何创建一个图形外观. )尤其是,如果你创建了一个元素,是为了提供一个特定的可视化表现,该元素应该完全控制这个可视化 是如何管理的,一旦你编写了一个控件,通常你不会将一个图形硬编码到里面. 记住,一个控件的工作是提供行为.可视化是由控件模板提供的.这种可视化是由控件模板提供的. 一个控件可能提供一组默认的可视化,而应允许这些可视化被替

《Programming WPF》翻译 第4章 2.数据绑定

我们手动编写代码保证UI和数据同步.有效将两组属性隐式的绑定在一起, 一组来自Person对象,另一组来自显示Person对象的控件.数据绑定用于显式的 将属性从一个对象绑定到另一个,保持它们的同步,并转换为适当的类型,正如 图4-7所示. 图4-7 4.2.1 绑定 取代以在代码中手动设置TextBox对象的Text属性并保证它们是最新的,数据 绑定允许我们使用Binding对象的实例来设置Text属性,正如示例4-8所示. 示例4-8 <TextBox > <TextBox.Text

《Programming WPF》翻译 目录

原文:<Programming WPF>翻译 目录 注:第1.2章我只做了笔记,没有翻译,请大家阅读时注意. 还有就是,这本书的英文版本下载:[O'Reilly] Programming Windows Presentation Foundation (2005) - BBL 以下是这本书的目录: 1.Hello, WPF     1.1 WPF from Scratch 基础     1.2 Navigation 导航     1.3 属性元素     1.4 布局     1.6 数据绑定

Knockout应用开发指南 第二章:监控属性(Observables)

原文:Knockout应用开发指南 第二章:监控属性(Observables) 关于Knockout的3个重要概念(Observables,DependentObservables,ObservableArray),本人无法准确表达它的准确含义,所以暂定翻译为(监控属性.依赖监控属性和监控数组),如果有好的建议请指正,多谢. 1     创建带有监控属性的view model Observables Knockout是在下面三个核心功能是建立起来的: 监控属性(Observables)和依赖跟踪

2000条你应知的WPF小姿势 基础篇&lt;51-56 依赖属性&gt;

原文:2000条你应知的WPF小姿势 基础篇<51-56 依赖属性> 前一阵子由于个人生活原因,具体见上一篇,耽搁了一阵子,在这里也十分感谢大家支持和鼓励.现在开始继续做WPF2000系列. 在正文开始之前需要介绍一个人:Sean Sexton. 来自明尼苏达双城的软件工程师.最为出色的是他维护了两个博客:2,000ThingsYou Should Know About C#  和 2,000 Things You Should Know About WPF .他以类似微博式的150字简短语言

2000条你应知的WPF小姿势 基础篇&lt;57-62 依赖属性进阶&gt;

原文:2000条你应知的WPF小姿势 基础篇<57-62 依赖属性进阶> 在正文开始之前需要介绍一个人:Sean Sexton. 来自明尼苏达双城的软件工程师.最为出色的是他维护了两个博客:2,000ThingsYou Should Know About C#  和 2,000 Things You Should Know About WPF .他以类似微博式的150字简短语言来每天更新一条WPF和C#重要又容易被遗忘的知识.Follow他的博客也有一段日子了,很希望能够分享给大家. 本系列我

WPF在XAML中Binding使用StringFormat属性

原文:WPF在XAML中Binding使用StringFormat属性1.绑定Currency,如果没有字符的话,后面需要先加入{},不加的话会出问题 <TextBlock Text="{Binding Amount, StringFormat={}{0:C}}" /> 2.绑定Currency,并在前面加入一些字符,跟上面相比,没有{} <TextBlock Text="{Binding Amount, StringFormat=Total: {0:C}}

《Programming WPF》翻译 第8章 2.Timeline

Timeline代表了时间的延伸.它通常还描述了一个或多个在这段时间所发生的事情.例如,在前面章 节描述的动画类型,都是Timeline.可哦率这样的DoubleAnimation: <DoubleAnimation From="10" To="300" Duration="0:0:5" /> 正如Duration属性指出的,这代表了一个5秒的时间长度.所有类型的Timeline总是有一个开始时间和 一个持续时间.如果没有详细指定开始

《Programming WPF》翻译 第7章 3.笔刷和钢笔

为了在屏幕上绘制一个图形,WPF需要知道你想要为图形填充什么颜色以及如何绘制它的边框.WPF提 供了一些Brush类型支持各种绘图样式.Pen类增加这些笔刷以提供边框的厚度和样子. 在这一章,我们将要看一下各种类型的笔刷和钢笔类.可是,由于所有的笔刷和钢笔类最终是关于指 出在哪里使用哪一种颜色,以及如何将它们联合在一起,我们必须首先看一下眼色是如何被表示的. 7.3.1 颜色 WPF在System.Windows.Media命名空间中使用了Color结构来表示一种颜色.注意到如果你以往工作于 W