请单击以进行评分并提供反馈
MSDN
MSDN Library
.NET 开发
.NET Framework
Style 类
全部折叠/全部展开 全部折叠
此页面仅适用于
Microsoft Visual Studio 2008/.NET Framework 3.5

同时提供下列产品的其他版本:
.NET Framework 类库
Style 类

更新:2007 年 11 月

在类型的不同实例之间共享属性、资源和事件处理程序。

命名空间:  System.Windows
程序集:  PresentationFramework(在 PresentationFramework.dll 中)
用于 XAML 的 XMLNS:http://schemas.microsoft.com/winfx/xaml/presentation

Visual Basic(声明)
<ContentPropertyAttribute("Setters")> _
<LocalizabilityAttribute(LocalizationCategory.Ignore)> _
Public Class Style _
    Inherits DispatcherObject _
    Implements INameScope, IAddChild
Visual Basic (用法)
Dim instance As Style
C#
[ContentPropertyAttribute("Setters")]
[LocalizabilityAttribute(LocalizationCategory.Ignore)]
public class Style : DispatcherObject, INameScope, 
    IAddChild
Visual C++
[ContentPropertyAttribute(L"Setters")]
[LocalizabilityAttribute(LocalizationCategory::Ignore)]
public ref class Style : public DispatcherObject, 
    INameScope, IAddChild
J#
/** @attribute ContentPropertyAttribute("Setters") */
/** @attribute LocalizabilityAttribute(LocalizationCategory.Ignore) */
public class Style extends DispatcherObject implements INameScope, 
    IAddChild
JScript
public class Style extends DispatcherObject implements INameScope, IAddChild
XAML 对象元素用法
<Style>
  Setters
</Style>

可以在从 FrameworkElementFrameworkContentElement 派生的任何元素上设置 Style。样式通常在 Resources 节内部声明为资源。由于样式是一种资源,它们遵循适用于所有资源的相同范围规则,因此样式的声明位置将影响它的适用范围。例如,如果在应用程序定义XAML 文件的根元素中声明样式,则该样式可在应用程序中的任何位置使用。如果您在创建导航应用程序时在该应用程序的一个XAML 文件中声明了样式,则该样式只能在该XAML 文件中使用。有关资源范围规则的更多信息,请参见资源概述

样式声明由 Style 对象构成,该对象包含由一个或多个 Setter 对象组成的集合。每个 Setter 都包含一个 Property 和一个 Value。属性是样式所应用于的元素的属性名。将样式声明为资源后,就可以像引用任何其他资源一样引用样式。

说明:

如果在 setter 集合中有多个 setter 具有相同的 Property 属性值,则使用最后声明的 setter。同样,如果在样式内和元素上直接为同一属性设置值,则直接在元素上设置的值优先。

使用 Windows Presentation Foundation (WPF) 样式和模板化模型不仅可以维护和共享外观,还可以让呈现与逻辑分离。样式和模板化模型包括一套允许您自定义UI 的功能。这套功能包括 Style 类以及下列组件:

有关更多信息,请参见样式设置和模板化

下面的示例演示一个样式声明,该声明将影响 ControlBackground 属性。

XAML
<Style x:Key="Style1">
  <Setter Property="Control.Background" Value="Yellow"/>
</Style>

若要应用上面的样式,请执行下列操作:

XAML
<Label Content="Yellow Background" Style="{StaticResource Style1}" />

还可以使用 TargetType 属性将样式应用于给定类型的所有元素。将目标类型添加至样式意味着,您不必再完全限定使用 ClassName.PropertyName 语法设置的属性。下面的示例定义一个将应用于每个 TextBlock 元素的样式。

C#
<Style TargetType="{x:Type TextBlock}">
  <Setter Property="FontFamily" Value="Segoe Black" />
  <Setter Property="HorizontalAlignment" Value="Center" />
  <Setter Property="FontSize" Value="12pt" />
  <Setter Property="Foreground" Value="#777777" />
</Style>
说明:

很多 WPF 控件都包含其他 WPF 控件的组合,因此创建应用于某一类型的所有控件的样式将具有广泛的影响。例如,如果您创建了一个针对 Canvas 中的 TextBlock 控件的样式,则该样式将应用于画布中的所有 TextBlock 控件,即使 TextBlock 是另一个控件(如 ListBox)的一部分也不例外。

有关如何扩展已定义样式或从其继承的信息,请参见 BasedOn 页。

此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

Windows Vista

.NET Framework 和 .NET Compact Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求

.NET Framework

受以下版本支持:3.5、3.0
社区内容   什么是社区内容?
添加新内容 RSS  批注
Processing
© 2009 Microsoft Corporation 版权所有。 保留所有权利 | 商标 | 隐私权声明
Page view tracker