使用样式更改多个控件的外观

若要对同一类型的多个控件应用相同的属性设置,则可以创建一个样式并将该样式应用于该控件。 样式基本上就是针对特定类型的属性设置的集合。 样式通常在 XAML 中定义。 样式的 targetType 决定样式适用的控件类型。 或者,可以通过使用 x:Key 属性为样式分配一个键,当声明类型时可以按名称引用该键。 有关样式的更多信息,请参见 Style

您可以在代码中或使用设计器来将样式分配到控件。

声明样式并将其应用于控件

  1. 在 XAML 文件中创建资源部分,如 Grid.Resources 或 StackPanel.Resources。
  2. 使用 x:Key 属性 添加 Style 元素。
  3. 将另一个 Setter 元素添加到 Style
  4. 在控件的 XAML 声明中,添加一个 Style 属性以及一个 StaticResource 标记扩展

    下面的示例演示如何在 XAML 中将样式声明为资源,为其分配一个键,以及将其应用于按钮控件。

    XAML

    <StackPanel.Resources>
        <Style TargetType="Button" x:Key="myButtonStyle">
        <Setter Property="Background" Value="Purple" />
        <Setter Property="Foreground" Value="#9900FF" />
        <Setter Property="Height" Value="50" />
        <Setter Property="Width" Value="100" />
        <Setter Property="Margin" Value="5" />
        <Setter Property="HorizontalContentAlignment" Value="Center" />
        <Setter Property="VerticalContentAlignment" Value="Center" />
        <Setter Property="Cursor" Value="Hand" />
        <Setter Property="FontSize" Value="14" />
        </Style>
    </StackPanel.Resources>
    
    ...
    
    <Button x:Name="button3" Width="130" Content="Click Me Instead!" Style="{StaticResource myButtonStyle}"/>
    

使用设计器将样式应用于控件

  1. 按前面步骤中所述,将样式创建为一个资源。
  2. 选择要应用样式的控件。
  3. 打开“属性”窗口并找到 Style 属性。
  4. 单击右侧的值列以打开“属性资源编辑器”。
  5. 展开“本地”部分并从列表中选择样式。

    在 XAML 中将一个 Style 属性以及一个 StaticResource 标记扩展添加到控件中。

通过属性设置和样式,您可以只更改控件外观的某些方面。 若要完全更改控件的外观和行为,需要使用控件的模板。 在 XAML 中定义一个 ControlTemplate(内嵌或在单独的文件中),它包含控件的可视外观和可视行为。 若要更改控件的模板,当您创建样式时,请在 XAML 中设置 Template 属性。 大多数控件都具有默认的控件模板。 可以替换默认控件模板,也可以修改模板以添加、重新排列或删除控件的各个部分。 可以在控件样式和模板中找到控件的默认模板。 有关更改控件的模板的更多信息,请参见控件自定义通过使用 ControlTemplate 自定义现有控件的外观

时间: 2024-10-24 23:26:57

使用样式更改多个控件的外观的相关文章

[寒江孤叶丶的Cocos2d-x之旅_33]RichTextEx一款通过HTML标签控制文字样式的富文本控件

RichTextEx一款通过HTML标签控制文字样式的富文本控件 原创文章,欢迎转载.转载请注明:文章来自[寒江孤叶丶的Cocos2d-x之旅系列] 博客地址:http://blog.csdn.net/qq446569365 下载地址 Github链接 这个是干什么的 将例如以下文字内容 "<#F37C2A><font Helvetica><30>[世]<#3AB5B3><underLine true>寒江孤叶<underLine

android - 自定义(组合)控件 + 自定义控件外观

转载:http://www.cnblogs.com/bill-joy/archive/2012/04/26/2471831.html android - 自定义(组合)控件 + 自定义控件外观 Android自定义View实现很简单 继承View,重写构造函数.onDraw,(onMeasure)等函数. 如果自定义的View需要有自定义的属性,需要在values下建立attrs.xml.在其中定义你的属性. 在使用到自定义View的xml布局文件中需要加入xmlns:前缀="http://sc

iOS 使用UI控件的外观协议UIAppearance进行设置默认UI控件样式

在iOS开发中,经常会对UINavigationBar的样式进行全局样式.采用的设置方式有两种: 第一种,采用方式如下: [UINavigationBar appearance] 这种是对一类对象的默认全局外观样式设置,它对设置时机有要求. 通常需要在UIWindow的viewlayout之前.错过了时机后,设置是没有效果的. 可以选择在下面方法内设置: - (BOOL)application:(UIApplication *)application didFinishLaunchingWith

WPF自定义控件(二)の重写原生控件样式模板

开发过程中,我们有时候用WPF原生的控件就能实现自己的需求,但是样式.风格并不能满足我们的需求,那么我们该怎么办呢?----自定义样式与模板. 一.样式 在WPF中我们可以使用Style来设置控件的某些属性值,并使该设置影响到指定范围内的所有该类控件或影响指定的某一控件,比如说我们想将窗口中的所有按钮都保持某一种风格,那么我们可以设置一个Style,而不必分别设置每个按钮的风格.Style是作为一种资源被保存下来的. 看下面的例子: <Style x:Key="style1" T

WPF笔记(1.9 样式和控件模板)——Hello,WPF!

原文:WPF笔记(1.9 样式和控件模板)--Hello,WPF! 资源的另一个用途是样式设置: <Window >  <Window.Resources>    <Style x:Key="myStyle" TargetType="{x:Type TextBlock}">      <Setter Property="VerticalAlignment" Value="Center"

android shape总结 和控件样式定制

1:shape总结 1):shape文件是放置在drawable文件下的.res/drawable/filename.xml. 2):shape类型:android:shape.一共有四种:rectangle,oval,line,ring. 3):corners标签:定义圆角.当且仅当控件类型位rectangle时才有作用.android:radiuse位圆角的半径.当然也可以单独为每个圆角进行设置. 4):gradient标签:颜色渐变. android:angle:颜色渐变的方向.0是从左到

WP8.1学习系列(第二十五章)——控件样式

XAML 框架提供许多自定义应用外观的方法.通过样式可以设置控件属性,并重复使用这些设置,以便保持多个控件具有一致的外观. 路线图: 本主题与其他主题有何关联?请参阅: 使用 C# 或 Visual Basic 的 Windows 运行时应用的路线图 使用 C++ 的 Windows 运行时应用的路线图 应用功能大全系列中突出显示的 Windows 应用商店应用 UI 详细信息 本主题包含下列部分: 先决条件 样式基础知识 应用隐式或显式样式 使用基于样式 使用工具轻松处理样式 修改 Windo

[转] 基于C#的波形显示控件的实现

转自 基于C#的波形显示控件的实现[附完整源码下载] 编者记: 09年暑假正好在学院实验室呆了一段时间,做了个完整的上位机软件(具体实现:根据下位机的指令,实现通过串口来操纵下位机进行实验,并将采集的数据进行处理和保存,并以图形的方式显示),整个项目边学C# WinForm边设计,这个波形显示控件就是项目中的一部分,也花了自己绝大多数时间.此外,顺便将该波形显示控件当作自己毕业设计的内容,下文实际上是节选自自己的本科毕业论文,希望对大家能有所帮助.代码以及文章有疏漏.错误.不妥之处在所难免,欢迎

WebForm(二)——控件和数据库连接方式

一.简单控件 1.Label(作用:显示文字) Web中: <asp:Label ID="Label1" runat="server" Text="Label" BorderColor="Black" BorderStyle="Solid" BorderWidth="5px"></asp:Label> 编译完成后的元素时span(html) <span id