(转)Silverlight控件关系理解
原文地址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控件关系理解的更多相关文章
- silverlight 控件样式动态绑定
<telerik:RadDiagram x:Name="diagram1" GraphSource="{Binding GraphSource, Mode=TwoW ...
- 浅谈对MJRefresh(上)下拉刷新控件的理解
MJRefresh GitHub地址:https://github.com/CoderMJLee/MJRefresh 利用业余时间研究了一下iOS的开发,发现OC特定的语法方式吸引了我,而且iOS开发 ...
- ListView控件的理解——自洽理论
写在前面的话: *标题中已经说明,是自洽理论.因此,有几率会有理解错误.但是,你不可以因此骂我. -我这个人经不起别人的批评,如果你批评我,我就,我就.... ## <第一行代码>读书笔记 ...
- silverlight控件阴影效果示例
<ScrollViewer MaxHeight="400" VerticalScrollBarVisibility="Auto" HorizontalSc ...
- silverlight 控件自定义样式 实现方法
1:在app.xaml中加入需实现的样式,如: <Application.Resources> <Style x:Key="NodeStyle" TargetTy ...
- APP常用控件学习理解
1.TextView 示例: layout_width指的是文本的所占宽度(不一定填充满),layout_height指的是文本所占高(不一定填充满),warp_coonent :包裹文本宽度 mat ...
- Silverlight控件——如何提升应用程序信任度与问题解决
从silverlight5开始,可以在项目设置中勾选“在浏览器内运行时需要提升的信任”来达到在浏览器内运行提权silverlight客户端的目的,在个特性很有用处. 可我使用这个功能时遇到了一个奇怪的 ...
- 【原创】有关Silverlight控件DataGrid的绑定数据后单元格单独复制的功能实现分析
前些日子,公司新需求需要对silverlight的datagrid进行局部任意单元格数据可复制,查阅了半天网络资料愣是没找到相关资料,开始还以为是silverlight的bug根部无法实现, 最后还是 ...
- SilverLight 控件ListBox中的SelectionChanged事件
出现的问题: ListBox 中给了它一个这样的事件SelectionChanged="NumBasket_SelectionChanged" 也就是单击某行就会触发的事件,要实现 ...
随机推荐
- docker--buildbot安装
curl -L https://github.com/docker/compose/releases/download/1.8.0/docker-compose-`uname -s`-`uname - ...
- 第三章 centos安装git
yum install git 安装后的默认存放地点/usr/bin/git
- Hibernate多对一(注解)
package cqvie.yjq.Util; import java.util.List; import org.hibernate.Query; import org.hibernate.Sess ...
- Java的二维数组的应用及杨辉三角的编写
(1) 编写一个程序,生成一个10*10的二维随机整数数组,并将该数组的每行最大值保存于一个一维数组中,将每列平均值保存于另外一个一维数组中并分别输出. (2) 编程输出杨辉三角的前10行. 找出一个 ...
- ABAP POPUP函数
POPUP_TO_CONFIRM_LOSS_OF_DATA 弹出一个对话框告知用户有可能丢失数据,询问是否操作继续.POPUP_TO_CONFIRM_STEP 弹出一个对话框询问用户是否操作继续. P ...
- 用clock()函数计算多项式的运行时间
百度百科中定义clock():clock()是C/C++中的计时函数,而与其相关的数据类型是clock_t.在MSDN中,查得对clock函数定义如下: clock_t clock(void) ; 简 ...
- C# 5.0新推出的async和await
class Program { static void Main(string[] args) { Test t = new Test(); } } public class Test { publi ...
- [mk] 喝一杯咖啡, 写一写 Makefile
Makefile 是 Linux 下组织程序的一个工具,它的命令是 make. (首字母M/m都可以) [Makefile] Makefile 编写的主旋律: target: [dependency] ...
- [Gnu]Centos7 解决 gdb 提示 Missing separate debuginfos
Centos7 上使用gdb: $ gdb php $ run /home/www/2.php 运行完 run,后面跟着很长的提示: …. Missing separate debuginfos, u ...
- 获取当前运行dll文件的路径
char moduledir[MAX_PATH]; GetModuleFileNameA(GetModuleHandleA("ppdl_BE081_BIW_seal_library.dll ...