为 Silverlight 2 创建自定义控件
2008-10-26 11:45:05 来源:WEB开发网现在,此声明可以初始化控件的 Template 属性(该属性定义控件的可视树),以包含位于 1 行 1 列的 Grid 内部的 Rectangle 和 TextBlock。再次在浏览器中打开 SimpleButtonDemoTestPage.html,输出内容将发生很大变化(请参见图 5)。现在,SimpleButton 具有了外观!
图 5 SimpleButton 控件
步骤 4:创建默认控件模板
要求开发人员使用您的控件定义他们自己的控件模板是不合理的。自定义控件应具有默认的模板,因此即使简单的声明(如图 2 中所示)也会在页面上显示某些内容。提供默认模板后,人们仍可以使用其他模板(如图 4 中的模板)将其覆盖,但如果不要求提供模板,您的控件会更加吸引人。
用于为自定义控件定义默认模板的机制是从 WPF 借用的。首先,向控件项目添加名为 Generic.xaml 的文件。(是的,此文件必须命名为 Generic.xaml。大小写无关紧要,但文件名不能改变。)然后,在 Generic.xaml 中定义样式,该样式使用属性 setter 将值分配给控件的 Template 属性。Silverlight 运行时自动在控件程序集(Generic.xaml 作为数据源嵌入其中)中查找 Generic.xaml 并将样式应用到控件实例。除了定义默认模板外,此样式还可以将默认值分配给其他控件属性,如 Width 和 Height 属性。
要亲身体验,请使用 Visual Studio 的“添加新项”命令将名为 Generic.xaml 的文本文件添加到 SimpleButtonDemo 项目中。然后使用图 6 中的代码替换 Generic.xaml 的内容。现在,Generic.xaml 包含一个未命名的样式,而该样式已应用到 SimpleButton 的所有实例中(请注意 TargetType 属性)。该样式包括 SimpleButton 的 Template 属性的默认值,该值与显示分配给图 5 中的控件的 Template 值相同。
Tags:Silverlight 创建 定义
编辑录入:爽爽 [复制链接] [打 印]- ››创建SQL2005自动备份,定期删除的维护计划
- ››silverlight全屏显示图片
- ››Silverlight MVVM 模式(一) 切近实战
- ››创建动态表单 javascript
- ››定义名称时自动代码提示所需的后缀
- ››Silverlight for Windows Phone 7开发系列(1):...
- ››Silverlight for Windows Phone 7开发系列(2):...
- ››Silverlight for Windows Phone 7开发系列(3):...
- ››Silverlight for Windows Phone 7开发系列(4):...
- ››创建基于PPTP的站点到站点VPN连接:ISA2006系列之...
- ››创建基于L2TP的站点到站点的VPN连接:ISA2006系列...
- ››创建一个Twisted Reactor TCP服务器
更多精彩
赞助商链接