- 属性设置几种方式
属性:属性是对XAML元素特征进行描述的方法;属性不允许在XAML中重复设置多次;允许 在托管代码中改变元素的属性值。
设置方式:
~使用特性语法(属性语法)~ 使用属性元素语法 ~使用内容元素语法 ~使用集合语法。
- 特性语法
对象的属性通常可表示为对象元素的特性。 特性语法对设置的对象属性命名,后跟赋值 运算符 (=)。 特性的值始终指定为包含在引号中的字符串。 特性语法是最简化的属性设置语法,并且对曾使用过标记语言的开发人员而言是最直观 的语法。 每个属性对应一个属性值,属性值类型必须与属性匹配 一个标记中可以设置对象的多个属。
- 属性元素语法
对于对对象元素的某种特性,无法使用特性语法,因为无法在特性语法的引号和字符串限 制内充分地表达提供属性值所必需的对象或信息。 对于这些情况,可以使用另一个语 法,即属性元素语法。
格式为:
- 内容元素语法
某些元素的属性支持内容元素语法,允许忽略元素的名称实力对象会根据XAML元素中第一个标记值来设置属性,使用内容元素语法更灵活。
<TextBlock TextWrapping="NoWrap">大量文字 </TextBlock >
XAML 内容属性值必须是连续的 XAML 内容属性的值必须完全在该对象元素上的任何其他属性元素之前或之后指定。 无 论 XAML 内容属性的值是指定为字符串,还是指定为一个或多个对象,
- 集合语法
XAML规范要求XAML处理器实现来标识值的类型为集合的属性。
.NET 中的常规 XAML 处理器实现基于托管代码和 CLR,并通过以下方法之一标识集合类型:
~类型实现IList。~类型实现IDictionary。~类型派生自Array
元素支持一个属性元素的集合,才能使用集合语法进行设置属性,使用托管代码的Add方法来增加更多的集合元素 ,本质是向对象的集合中添加属性项
- 基本属性,附加属性和依赖属性。
- 附加属性
附加属性作用于支持附加属性的元素
附加属性是由支持附加属性的父元素产生作用,支持附加属性的元素会继承所在的父元素的属性。
附加属性的格式:AttachedPropertyProvider.PropertyName
- 依赖属性
依赖属性和CRL属性类似,提供一个实例级私有字段的访问封装,通过GetValue和 SetValue访问器实现属性的读写操作 最重要一个特点是属性值依赖于一个或者多个数据源,提供这些数据源的方式也可 以不同 由于依赖多数据源的缘故,故称之为依赖属性。
- 什么是依赖属性
依赖属性就是一种自己可以没有值,并且可以通过Binding绑定从其他数据源获取值。依赖属性可支持WPF中的样式设置,数据绑定,继承,动画及默认值。
使用场景:
在样式中设置属性。
属性支持数据绑定。
使用动态资源引用设置属性。
从元素数中的父元素自动继承属性值。
属性可进行动画处理。
属性系统在属性系统,环境或用户执行的操作或者读取并使用样式更改了属性以前的值时报告。
使用已经建立的WPF进程也使用的元数据绑定,例如报告更改属性值是否要求布局系统重新编写元素的可视化对象。
(2)无论什么时候,只要依赖属性的值发生改变,wpf就会自动根据属性的元数据触发一系列 的动作,这些动作可以重新呈现UI元素,也可以更新当前的布局,刷新数据绑定等等, 这种变更的通知最有趣的特点之一就是属性触发器,它可以在属性值改变的时候,执行 一系列自定义的动作,而不需要更改任何其他的代码来实现。通过下面的示例来演示属 性变更通知。