鉴于对WPF所带来的华丽外观的吸引,也为了更好的学Silverlight,故先学WPF。

1、XAML 定义

    XAML是一种相对简单、通用的声明式编程语言,它适合于构建和初始化.NET对象。(初次感觉它就是一种XML语言,只是有了自己的实现方式。使用起来有点像写web程序。)

2、XAML命名空间

    XAML文件的根对象元素指定至少一个XML命名空间,用于验证自己和子元素。

<Window x:Class="WPFDemo.demo3_1" 
    xmlns
="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x
="http://schemas.microsoft.com/winfx/2006/xaml"></Window>

 

默认命名空间 xmlns,次要命名空间xmlns:X,CS文件x:Class。

 

3、类型转换器与标记扩展

   类型转换器:和写.NET的Web页面差不多。

   标记扩展:很有用的东西,用于扩展XAML的表达能力。特性值用一些规范好的字符串组成,并由“{}”括起来。如

<Button Height="x:Static SystemParameters.IconHeight}" Content="{Binding Path=Hight,RelativeSource={RelativeSource Self}}"></Button> 

 

其中Static是标记扩展类;SystemParameters.IconHeight和Self是定位参数,是被作为字符串参数传入扩展类的相应构造函数中的;Path和RelativeSource是命名参数,可以用来在已构造好的扩展对象上设置相应名字的属性。

4、对象元素的子元素

   一个对象元素可以有3种类型的子元素:内容属性值,集合项,或者一个能够通过类型转换到它的父元素的值。

5、命名XAML元素

   用Name关键字。

<Button x:Name="okName">OK</Button>

 

6、逻辑树与可视树

    逻辑树很直观,有属性、事件、资源等的传递性。可视树基本上是逻辑树的扩展,是WPF架构的核心组成部分。

7、依赖属性

   其实就是普通的.NET属性。

8、对多个提供程序的支持

    5步流程:判断基础值 ---->计算(如果有表达式的话)---->应用动画---->限制(Coerce)---->验证

9、附加属性

    是依赖属性的特殊形式。感觉也没什么特别的。就是某一元素默认是没有的基本属性可以用另外一种形式调用而已。

10、路由事件

    与.NET事件很像。

 

总结:终归是.NET的一个支点,很多地方都是共通的,重点就是对XAML的理解。

posted on 2009-05-20 23:00  Borg  阅读(273)  评论(0编辑  收藏  举报