-
属性元素
备注:- 属性元素:即以元素形式来表示一个实例的属性。
- 注意属性的键值对,键是属性名,可以拆成 Rectangle.Fill 形式,值是属性值,写成 SolidColorBrush 。
- 尽量不用这种方式写,因为显得冗长。
- 属性元素和属性标签是同一个意思。
-
标记扩展
备注:- 应用场景:有时候需要给对象赋一个 null 值,WOF 甚至允许一个对象的属性值依赖在其他对象的某个属性上,当需要进行这些特殊类型赋值时需要使用标记扩展。
Text="{Binding ElementName=slider1, Path=Value, Mode=OneWay}"
解析:- 当编译器看到这句代码时,就会把花括号里的内容解析成相应的对象。
- 对象的数据类型名是紧挨左花括号的字符串。
- 对象的属性由一串以逗号连接的子字符串负责初始化(注意:属性值不再加引号)。
- 尽管标记扩展的语法简洁方便,但并不是所有对象都能用标记扩展来书写,只有 MarkupExtension 类的派生类才能使用。
- 标记扩展是可以嵌套的
Text="{Binding Source={StaticResource myDataSource}, Path=PersonName}"
- 标记扩展具有简写语法,如
{Binding Value, ...}
与{Binding Path=Value, ...}
等价的。他其实是两种参数,前面是固定位置参数,构造函数中所写,后者是具名参数,属性或者字段所写。 - 标记扩展的类名均以单词 Extension 为后缀,只是一般省略不写,比如
Text="{x:Static ...}"
和Text="{x:StaticExtension ...}"
等价。
-
x:Code
03_系统学习XAML语法
最新推荐文章于 2024-07-31 04:00:00 发布