深入浅出WPF-3

原创 2016年08月31日 15:33:50

属性赋值

通过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的作用就是为资源贴上用于检索的索引。

版权声明:本文为博主原创文章,未经博主允许不得转载。

深入浅出WPF完整版.pdf

  • 2013年09月24日 12:06
  • 43.64MB
  • 下载

【分享】深入浅出WPF全系列教程及源代码

本人10月份提出离职,但是交接很慢,估计年底才会交接完,趁着交接之际,自学了一下WPF,因为这是微软未来的发展趋势,自WIN7以来包括前不久发布的WIN8,核心还是WPF,在此,将自己的学习成果做一个...
  • fwj380891124
  • fwj380891124
  • 2012年11月17日 17:24
  • 83525

深入浅出WPF完整版

  • 2017年10月30日 17:23
  • 3.72MB
  • 下载

深入浅出WPF+完整版.pdf

  • 2012年09月23日 23:27
  • 43.64MB
  • 下载

深入浅出WPF完整版

  • 2017年11月09日 17:20
  • 43.27MB
  • 下载

深入浅出WPF+完整版(刘铁猛)

  • 2012年03月21日 10:50
  • 43.64MB
  • 下载

深入浅出WPF_含源码

  • 2014年09月05日 14:47
  • 56.99MB
  • 下载

深入浅出WPF完整版

  • 2014年08月16日 15:00
  • 43.64MB
  • 下载

深入浅出WPF完整版PDF

  • 2017年12月03日 18:19
  • 43.27MB
  • 下载

WPF深入浅出话资源

我们把有用的东西称为资源。“兵马未动,粮草先行”-----程序中的各种数据就是算法的原料和粮草。程序中可以存放数据的地方有很多,可以放在数据库里、可以存储在变量里。介于数据库存储和变量存储之间,我们还...
  • fwj380891124
  • fwj380891124
  • 2012年11月06日 18:08
  • 18473
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深入浅出WPF-3
举报原因:
原因补充:

(最多只允许输入30个字)