我正在为WP7应用程序开发控件。我知道我可以通过继承UserControl类(派生自Control类)来快速创建控件。此外,这些控件无法自定义,即与控件相关的所有属性都是用户控件中的编码 - 它们不能在xaml等中覆盖。但有人可以分享最佳实践/情况,何时直接从控制类 vs ContentControl / ItemControl类 vs UserControl类(我错过了其他任何选项吗?)?
感谢。
答案 0 :(得分:0)
以下是您提到的每种控件类型的简要说明:
1.ItemsControl - 通常在你想拥有一个像ListBox,TreeView等项目的控件时使用。从ItemsControl派生的最重要的部分之一是覆盖:
GetContainerForItemOverride
IsItemItsOwnContainerOverride
PrepareContainerForItemOverride
以下是一个例子:
请注意,该示例未使用最新的Silverlight版本,但它详细说明了如何实现自定义控件。
2.Control - 当你想实现一个没有Content或Items属性的简单控件时,例如你可以从Control派生。
3.ContentControl - 当您需要在控件中放置一些内容时。例如按钮内容。这取决于你的需要什么是基类的选择。
您还可以查看SilverlightShow提供的其他教程与“如何实现自定义控件”相关联。
我希望这会回答你的问题。