深入浅出WPF-3

属性赋值

通过Attribute=Value语法赋值时,由于XAML的语法限制,Value的值只能是一个字符串。这就引出两个问题:
如果一个类能使用XAML语言进行声明,并且允许它的Propetry与XAML的Attribute互相映射,那就需要为这些Propetry准备适当的转换机制。
由于Value是个字符串,所以起格式复杂度有限,尽管转换格式里包含一定的按格式解析字符串的功能以便转换成复杂的目标对象,但这会让最终的XAML使用者头疼不已。
第一个问题的解决方案是使用TypeConverter类的派生类,在派生类里重写TypeConverter的一些方法。第二个问题的解决方法就是使用属性元素。

x名称空间的成员

x名称空间里的成员是专门给XAML的编译器看的,用来引导XAML编译器把XAML代码编译成CLR代码

Attribute

Attribute是语言层面的东西,是给编译器看的,Propetry是面向对象层面的东西,是给编程逻辑看的。

Class

x:Class的值所指示的类型在声明中必须使用partial关键字。

Name

一个XAML便签对应着一个对象,这个对象一般是一个空间类的实例,类是引用类型,一般是“引用者->实例”的成对出现,而且我们只能通过引用来访问实例,当一个实例不再被任何引用者所引用时,他就会被当成内存垃圾而销毁。
x:Name的作用有两个
(1)告诉XAML编译器,当一个标签带有x:Name时除了为这个标签生成对应的实例还要为这个实例声明一个引用变量,变量名就是x:Name的值。
(2)将XAML标签所对应的对象的Name属性(如果有)也设置为x:Name的值,并把这个值注册到UI树上,以方便查找。
如果一个标签没有Name属性,那么x:Name的作用就是仅仅为实例创建引用变量了。
例如

<Button x:Name = "btn_Test" Content = "OK"/>


Button btn_Test = new Button();
btn_Test.Name = "btn_Test";

Key

最自然的检索方式莫过于使用“Key-Value”对的形式了。在XAML文件中,我们可以把需要使用多次使用的内容提取出来放在资源字典里,需要使用这个资源我们就用它的Key检索出来,x:Key的作用就是为资源贴上用于检索的索引。

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/he_wen_jie/article/details/52385666
个人分类: wpf
想对作者说点什么? 我来说一句

深入浅出WPF完整版

2017年11月09日 43.27MB 下载

深入浅出WPF完整版PDF

2017年12月03日 43.27MB 下载

深入浅出WPF_含源码

2014年09月05日 56.99MB 下载

深入浅出WPF+完整版.pdf

2012年09月23日 43.64MB 下载

深入浅出WPF

2013年12月21日 43.64MB 下载

WPF全系列事例代码

2012年11月17日 13.66MB 下载

深入浅出WPF完整版.pdf

2013年09月24日 43.64MB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭