本文将介绍以下内容:
WPF 控件模型
创建控件模板
派生控件
添加事件
本文使用以下技术:
Silverlight 2
本文基于 Silverlight 2 的 Beta 2 版本。 文中的所有信息均有可能发生变更。
目录
步骤 1:创建新的 Silverlight 项目
步 骤 2:从控件(或 ContentControl)派生
步骤 3:创建控件模板
步骤 4:创建默认控件 模板
步骤 5:添加模板绑定
步骤 6:使用 ContentPresenter 替换 TextBlock
步 骤 7:添加 Click 事件
步骤 8:添加可视状态
完成的控件
Silverlight 2 有别于 Silverlight 1.0 的众多功能之一是支持控件。Silverlight 2 以丰富且强大可靠的控件模型闻 名,该模型是平台中包括的控件和第三方控件包的基础。您也可以使用此控件模型构建自己的控件,但对 于不熟悉 Windows Presentation Foundation (WPF) 控件模型的开发人员来讲,第一次构建 Silverlight 自定义控件会令人生畏。撰写此专栏时,即在发布 Silverlight 2 Beta 2 之前,几乎没有 文档可供参考,而在 Web 中快速搜索出的少数几篇教程为我指明了方向。虽然我正在讨论此主题,但应 该提醒大家的是,我正在使用的 Beta 2 在其最终发布之前,可能会做进一步的更改。
在了解如 何为新平台编写自定义控件时,我经常先复制一些内置控件:按钮和列表框等等。这些控件可能表面看起 来简单,但他们总是揭示了控件模型的关键功能并可以测试人们对这些功能的掌握程度。另外,如果您无 法首先创建一个简单的按压按钮,则无法创建 super-duper-multicolor-multithreaded-all-in-one-do -it-all 小组件控件。
了解 Silverlight 2 自定义控件的最佳方法是一步一步一点一点地创建一 个 Silverlight 2 自定义控件。这样,您不仅能了解控件的各个组成部分,还能了解它们是如何组合到 一起的。以下教程描述了如何构建 SimpleButton 控件,该控件复制内置 Button 控件的外观和行为的重 要方面,并且可以从该控件直接看到控件开发的情况,即 Silverlight 样式。