原文地址http://www.cnblogs.com/Joetao/articles/1899664.html

本篇学习了Silverlight中的控件继承关系,了解控件的继承关系对应我们操作控件,使用控件的样式,模板有很大的帮助!下面是我们常用控件继承和派生关系类图!这里只是列出了部分空控件关系!

关于继承关系的一点理解:

1)FrameworkTemplate类:创建元素的元素树(用于*.xaml文件中) 如下图:

(1)ControlTemplate类:定义控件的外观,这通常是多个元素的组合(用于*.xaml文件中)

(2)ItemsPanelTemplate类:ItemsControl 的项的布局创建的面板

(3)DataTemplate类: 描述数据对象的可视结构。

2)FrameworkElement:有Style属性,可以Style属性修改FrameworkElement样式。它的派生类具有Style属性.TextBlock除外

3)Control继承自FrameworkElement:Style属性,还有Template属性:如下图    

Template属性:用于定义 Control 的外观的模板,对应于 ControlTemplate

(1) ContentControl:继承自Control,Style、Template、 ContentTemplate属性

ContentTemplate属性:获取或设置用于显示 ContentControl 内容的数据模板。对应于DataTemplate

Content 属性:可以是任何类型的对象,例如字符串、UIElement 或 DateTime。当 Content 设置为 UIElement 时,ContentControl 中将显示 UIElement。

(2)ItemsControl:继承自Control,具有 Style、Template、ItemTemplate、ItemsPanel属性

ItemTemplate属性:获取或设置用于显示每个项的 DataTemplate。

ItemsPanel属性:获取或设置模板,它定义了控制项的布局的面板。对应于ItemsPanelTemplate

(转)Silverlight控件关系理解的更多相关文章

  1. silverlight 控件样式动态绑定

    <telerik:RadDiagram x:Name="diagram1" GraphSource="{Binding GraphSource, Mode=TwoW ...

  2. 浅谈对MJRefresh(上)下拉刷新控件的理解

    MJRefresh GitHub地址:https://github.com/CoderMJLee/MJRefresh 利用业余时间研究了一下iOS的开发,发现OC特定的语法方式吸引了我,而且iOS开发 ...

  3. ListView控件的理解——自洽理论

    写在前面的话: *标题中已经说明,是自洽理论.因此,有几率会有理解错误.但是,你不可以因此骂我. -我这个人经不起别人的批评,如果你批评我,我就,我就.... ## <第一行代码>读书笔记 ...

  4. silverlight控件阴影效果示例

    <ScrollViewer MaxHeight="400" VerticalScrollBarVisibility="Auto" HorizontalSc ...

  5. silverlight 控件自定义样式 实现方法

    1:在app.xaml中加入需实现的样式,如: <Application.Resources> <Style x:Key="NodeStyle" TargetTy ...

  6. APP常用控件学习理解

    1.TextView 示例: layout_width指的是文本的所占宽度(不一定填充满),layout_height指的是文本所占高(不一定填充满),warp_coonent :包裹文本宽度 mat ...

  7. Silverlight控件——如何提升应用程序信任度与问题解决

    从silverlight5开始,可以在项目设置中勾选“在浏览器内运行时需要提升的信任”来达到在浏览器内运行提权silverlight客户端的目的,在个特性很有用处. 可我使用这个功能时遇到了一个奇怪的 ...

  8. 【原创】有关Silverlight控件DataGrid的绑定数据后单元格单独复制的功能实现分析

    前些日子,公司新需求需要对silverlight的datagrid进行局部任意单元格数据可复制,查阅了半天网络资料愣是没找到相关资料,开始还以为是silverlight的bug根部无法实现, 最后还是 ...

  9. SilverLight 控件ListBox中的SelectionChanged事件

    出现的问题: ListBox 中给了它一个这样的事件SelectionChanged="NumBasket_SelectionChanged" 也就是单击某行就会触发的事件,要实现 ...

随机推荐

  1. MFC通过txt查找文件并进行复制-备忘

    MFC基于对话框的Demo txt中每行一个23位的卡号. 文件夹中包含以卡号命名的图像文件.(fpt或者bmp文件) 要求遍历文件夹,找到txt中卡号所对应的图像文件,并复制出来. VC6.0写的. ...

  2. sql 将8位字符串转换成日期型

    将8位字符串转换成日期型,方法如下: ),)

  3. react 写的省市三级联动

    <!DOCTYPE html><html><head> <meta charset="utf-8"> <title>Ba ...

  4. c++父类和子类转化致命的代码错误

    最近在工作中,出现了严重的代码错误,对象的基类和子类的继承,代码大致如下: class A { }; class B : public A { } void main() { A* a;(用于子类对象 ...

  5. composer 安装

    安装composer wget http://curl.haxx.se/ca/cacert.pem curl -sS https://getcomposer.org/installer | php - ...

  6. en_windows_10_multiple_editions_version_1511_x64.iso

    好久没折腾电脑了,这几天在E盘装了个64位Windows 10 TH2 专业版,从MSDN官网下载的英文原版镜像,用kms10未能激活,一看日志文件,说我这是零售版,后面就关掉了什么监听端口,然后就完 ...

  7. iOS 8下使用xib/storybord AutoLayout导致的分割线问题

    /*** iOS8 分割线问题 在xib/storyboard下面解决方案 http://qiita.com/yimajo/items/10f16629200f1beb7852 http://www. ...

  8. Eclipse导入Maven项目,使用server 启动报错,class 找不到,

    问题发现: 1.导入maven 项目后,用server 启动,选择项中没有这个项目 解决: 说明server 没有把该项目当成web项目,需要设置 项目右键 properties  ---- proj ...

  9. Java中super的几种用法并与this的区别

    1. 子类的构造函数如果要引用super的话,必须把super放在函数的首位. class Base { Base() { System.out.println("Base"); ...

  10. 【转】mac os 安装php

    安装PHP 添加brew的PHP扩展库: brew update brew tap homebrew/dupes brew tap josegonzalez/homebrew-php 可以使用brew ...