开发手册 欢迎您!
软件开发者资料库

WPF - 样式

WPF样式 - 从概述,环境设置,Hello World,XAML概述,元素树,依赖项属性,路由事件,控件,布局,布局嵌套,输入,命令行,数据绑定,资源,简单而简单的步骤学习WPF模板,样式,触发器,调试,自定义控件,异常处理,本地化,交互,2D图形,3D图形,多媒体。

.NET框架提供了几种策略来个性化和自定义应用程序的外观.样式为我们提供了设置对象的某些属性的灵活性,并在多个对象之间重用这些特定设置以获得一致的外观.

  • 在样式中,您只能设置对象的现有属性,如高度,宽度,字体大小等.

  • 只有控件的默认行为才能可以指定.

  • 可以将多个属性添加到单个样式中.

样式用于为一组控件提供统一的外观或外观.隐式样式用于将外观应用于给定类型的所有控件并简化应用程序.想象一下三个按钮,它们都必须看起来相同,相同的宽度和高度,相同的字体大小,相同的前景色等.我们可以在按钮元素本身上设置所有这些属性,这对所有按钮来说仍然很好.请看下面的图表.

Styles

但是在现实生活中的应用程序,你通常会有更多这些需要看起来完全相同的应用程序.当然,不仅按钮,您通常希望文本块,文本框和组合框等在您的应用程序中看起来相同.当然,必须有更好的方法来实现这一点,它被称为样式.您可以将样式视为将一组属性值应用于多个元素的便捷方式.请看下面的图表.

样式定义

示例

让我们举一个简单的例子来理解这个概念.首先创建一个新的WPF项目.

  • 将三个按钮从工具箱拖到设计窗口.

  • 以下XAML代码创建了三个按钮并使用一些属性初始化它们.

                              

当您查看上面的代码时,您会看到所有按钮的高度,宽度,前景色,字体大小和边距属性都相同.现在编译并执行上面的代码时,将显示以下窗口.

三个按钮的输出

现在让我们来看看同一个例子,但这一次,我们将使用 style .

                                                                                                     

样式在资源字典中定义,每种样式都有唯一的密钥标识符和目标类型.内部< style>您可以看到为每个属性定义了多个setter标签,这些标签将包含在样式中.

在上面的示例中,每个按钮的所有常用属性现在都以样式定义,然后通过StaticResource标记扩展设置style属性,使用唯一键为每个按钮分配样式.

编译并执行上面的代码时,它将显示以下窗口(相同的输出).

相同输出

这样做的好处像这样很明显,我们可以在其范围内的任何地方重用该样式;如果我们需要更改它,我们只需在样式定义中而不是在每个元素上更改一次.

在什么级别定义样式会立即限制该样式的范围.因此范围,即您可以使用样式的位置,取决于您定义它的位置.样式可以在以下级别定义 :

Sr.NoLevels&描述
1控制级别

在控件级别定义样式只能应用于该特定控件.下面给出了一个控件级别的示例,其中按钮和TextBlock具有自己的样式.

2布局级别

在任何布局级别定义样式将只能通过该布局及其子元素访问它.

3窗口级别

在窗口级别定义样式可以使所有元素都可以访问它在那个窗口上.

4应用程序级别

在应用程序级别定义样式可以使其在整个应用程序中可访问.让我们采用相同的例子,但在这里,我们将把样式放在app.xaml文件中,以便在整个应用程序中访问它.