sivlerlight系统类 关系大观

sivlerlight系统类 关系大观_第1张图片

 

DependencyObject :

UIElement : 里面的属性 Opacity  Visibilty   Projection  RenderTransform  Clip  ...

FrameworkElement : 里面的属性  Height  Width  HorizintalAlgnment  DataContext ....

Control : 里面的属性  Background  Foreground    BroderBrush  ....

 

UIElement 里面的属性 :都是和显示展现有关的,所以都这些属性放在UIElement中,作为基类的一个类。

FrameworkElement 里面的属性,主要关心的是它的Layout方式的,以及和外面节点的关系的。

比如FrameworkElement 里面的width 和 height 改变了宽度和高度后,可能会影响grid里面的其它元素,所以就把这些属性放在Framework中,而不像UIElement里面的属性改变后只是自己变化而已。所以把这些属性分离出来,作为稍微高层一点的FrameworkElement。 (因为他跟Visual Tree 的 Organization 有关系的)

FrameworkElement 我们是不需要去怎么操作,我们会有一些比较更高一级的应用 ,我们需要有一些是否让你去操作IsEnable,或者background是怎么样的,我们封装成一个Control 类中。比如有一些界面元素有另外一些特征的话,我们可以再封装,比如这个Shape,Panel  Textblock等也是继承于FrameworkElement。。

 

你可能感兴趣的:(sivlerlight系统类 关系大观)