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