XAML标记扩展

这篇博客探讨了XAML标记扩展在WPF编程中的应用,重点介绍了StaticResource、DynamicResource和Binding。StaticResource在加载时提供属性值,而DynamicResource在运行时进行资源查找,支持对象图访问。Binding则实现了数据绑定功能,允许属性值根据数据上下文动态变化。同时,文中还提到了RelativeSource、TemplateBinding和ComponentResourceKey等扩展,它们分别用于对象树导航、模板属性绑定和自定义控件资源查找。
摘要由CSDN通过智能技术生成

一、 标记扩展:1、实际项目中为XAML控件属性赋值经常遇到:
-设计时属性之处于未知状态;
-运行时才能获取到。
2、轻松实现XAML页面属性赋值,资源引用,类型转换等操作
二、特定于 WPF 的标记扩展:
WPF 编程中最常用的标记扩展是支持资源引用的标记扩展(StaticResource 和 DynamicResource),和支持数据绑定的标记扩展 (Binding)。
StaticResource 通过替换已定义资源的值来为属性提供值。 StaticResource 计算最 终在 XAML 加载时进行,并且在运行时没有访问对象图的权限。
注:不能尝试对 XAML 文件中对其进行词法上进一步定义的资源进行前向引用。尝试执行此操作不受支持,即使此类引用不会失败,在搜索表示的 ResourceDictionary 内部哈希表时,尝试转发引用会导致加载时性能下降。为了获得最佳结果,请调整资源字典的组合,以便可以避免转发引用。如果无法避免正向引用,请改用 DynamicResource 标记扩展 。
指定 ResourceKey 的应与现有资源相对应,该资源在页面、应用程序、可用控件主题和外部资源或系统资源的某一级别以 ResourceKey 标识。 资源查找按顺序进行。 如果扩展具有一个以上的可设置属性,或者某些属性是可选的,则详细用法通常会很有用。 由于 StaticResource 仅有一个可设置的属性,并且此属性是必需的,因此该详细用法不具有典型性。StaticResource 是标记扩展。当要求转义特性值应为非文本值或非处理程序名称时,通常会实现标记扩展,相对于只在某些类型或属性上放置类型转换器而言,此需求更具有全局性。XAML 中的所有标记扩展在其特性语法中使用 {和} 字符,这是 XAML 处理

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值