WEB开发网
开发学院图形图像Flash 为 Silverlight 2 创建自定义控件 阅读

为 Silverlight 2 创建自定义控件

 2008-10-26 11:45:05 来源:WEB开发网   
核心提示: 现在,此声明可以初始化控件的 Template 属性(该属性定义控件的可视树),为 Silverlight 2 创建自定义控件(5),以包含位于 1 行 1 列的 Grid 内部的 Rectangle 和 TextBlock,再次在浏览器中打开 SimpleButtonDemoTestPa

现在,此声明可以初始化控件的 Template 属性(该属性定义控件的可视树),以包含位于 1 行 1 列的 Grid 内部的 Rectangle 和 TextBlock。再次在浏览器中打开 SimpleButtonDemoTestPage.html,输出内容将发生很大变化(请参见图 5)。现在,SimpleButton 具有了外观!

为 Silverlight 2 创建自定义控件

图 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 值相同。

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:Silverlight 创建 定义

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接