WPF资源

在WPF中,资源与传统WEB应用过中CSS样式表类似,目的是为了实现对象中的重复调用,它有助于XAML代码重用和应用维护的一致性,定义资源的语法格式是:
<根元素对象.Resources>
<资源定义/>
</根元素对象.Resources>
在这里插入图片描述

WPF应用中,XAML资源分为StaticResource和DynamicResource,在Windows 8应用中,XAML资源仅支持StaticResource,资源的应用域不同,XAML资源可分为FrameworkElement.Resources和Application.Resources
在这里插入图片描述
FrameworkElement.Resources是将资源对象应用于同一个对象树上的不同对象上,成为页面资源,通常被定义在XAML页面根元素上,为 Windows Presentation Foundation(WPF)元素提供WPF框架级属性集、事件集和方法集。此类表示附带的WPF框架级实现,它是基于由 System.Windows.UIElement 定义的WPF核心级API构建的
在这里插入图片描述

Application.Resources是贯穿整个应用级别的资源,通常被定义在App.xaml页面,用于获取或设置应用程序范围资源的集合,例如样式和画笔,返回结果包含零个或多个应用程序范围资源的 System.Windows.ResourceDictionary对象,Application是封装Windows Presentation Foundation (WPF)应用程序
在这里插入图片描述

Style也是资源的一种,从某种意义上来说,它很类似于我们给普通HTML中的元素建立CSS,样式是最常见的一种资源,而且它总是被定义在Resource Dictionary中,为了来重用,Style其实就是一系列分组的Setter的集合,用来设定逻辑资源的属性值,它有一种比较特殊的情形就是Implicit Keys,可以不声明一个x:Key的名字,而只设置x:TargetType的值,这样面对的就是对于所有这个类型的控件都使用这个样式
在这里插入图片描述

将TargetType属性设置为TextBlock而不为样式分配x:Key,样式就会应用于所有TextBlock元素。这种情况下,x:Key隐式设置为{x:Type TextBlock}。这意味着,如果将x:Key值显式设置为{x:Type TextBlock}之外的任何值,Style就不会自动应用于所有TextBlock元素,只会应用于设置了x:Key的TextBlock元素

猜你喜欢

转载自blog.csdn.net/weixin_44588733/article/details/89605583