WEB开发网
开发学院软件开发C语言 C#开发WPF/Silverlight动画及游戏系列教程(Game C... 阅读

C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(十五) 精灵控件横空出世!②

 2009-06-22 07:08:29 来源:WEB开发网   
核心提示: 以上代码实现了QXSpirit控件的X,Y依赖属性,C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(十五) 精灵控件横空出世!②(3),大家不要被看似复杂的代码所吓着,其实很简单的,后面的章节中会讲到它的必要性,而像如上的属性访问器只能用于创建纯描述

以上代码实现了QXSpirit控件的X,Y依赖属性。大家不要被看似复杂的代码所吓着,其实很简单的,让我一一道来。首先将以上代码分成两部分:X坐标为第一部分,Y坐标为第二部分。它们的结构是一模一样的,我们可以忽略Y坐标,只要理解了X依赖属性的实现,将X换成Y即可。

关于依赖属性的相关知识,网上不要太多,它不是本教程的重点所以就不多做解释了。理解它的朋友都明白,上面代码是它的标准创建形式,public double X是它的属性访问器,public static readonly DependencyProperty XProperty 则是定义它。就如上面代码注释中写到的,分别定义它的属性名、类型、所处类名等等。这样,一个完整的X依赖属性就完成了。有的朋友又困惑了,为什么要那么麻烦去创建依赖属性?我直接这样写不就得了:

        double _X;
        public double X {
            get { return _X; }
            set { _X = value; }
        }

即传统又简单。但是,我想告诉大家的是,在WPF/Silverlight中,只有依赖属性才能被更好的使用及识别,例如在属性的绑定,Storyboard目标属性的设定等等中,都必须使用到依赖属性来实现,后面的章节中会讲到它的必要性。而像如上的属性访问器只能用于创建纯描述性属性,例如精灵图片地址目录等,就可以使用属性访问器:

       //精灵图片源目录地址
        string _ImageAddress;
        public string ImageAddress {
            get { return _ImageAddress; }
            set { _ImageAddress = value; }
        }

上一页  1 2 3 4 5  下一页

Tags:开发 WPF Silverlight

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接