wp7中对附件属性的学习

附件属性

 <Ellipse style=”{StaticResource ellipseStyle}” Canvas.Left=”134”, Canvas.Top=”234”/>

 

Canvas.Top 和Left 就为附加属性。

它们是Canvas定义的属性,但是在Canvas的子元素中设置值。

 

设置这些附件属性 要使用两个Canvas类定义的两个静态方法:

Canvas.SetLeft(ellipse,11);

Canvas.SetTop(ellipse,123);

或者使用由DependencyObject定义,被Ellipse类继承的setValue方法,引用Canvas定义的静态依赖属性。

Ellipse.SetValue(Canvas.LeftProperty,110);

 

在附加属性中 DependencyProperty对象是通过DependencyProperty.RegisterAttached创建,而不是DependencyProperty.Register创建。

Public static readonly DependencyProPerty LeftProperty= DependencyProperty.RegisterAttached(“Left”,typeof(double),typeof(CanvasClone),new proPertyMetadata(0.0,OnleftOrTopPropertyChanged));

PorypertyMetadata 的第一个参数为Double类型,避免C#编译器将其识别为int而引发运行时错误.

定义DependencyProperty字段之后,需要有静态方法用以访问附加属性。这些静态方法一Get和Set 开头

 

Public Static void SetLeft(DependencyObject obj,double value)

    Obj.setValue(LeftPropert,value);

 

Public Static void GetLeft(DependencyObject obj,double value)

    Return (double)Obj.setValue(LeftPropert);

这些方法可以在代码中显示的调用,也可以在Xaml解析器中被隐式的调用。

posted @ 2012-07-10 14:49  MicroLeo  阅读(292)  评论(0编辑  收藏  举报