Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WP7-控件-决定从哪个类继承的标准-UserControl或ContentControl或Control类_C#_Silverlight_User Controls_Controls - Fatal编程技术网

C# WP7-控件-决定从哪个类继承的标准-UserControl或ContentControl或Control类

C# WP7-控件-决定从哪个类继承的标准-UserControl或ContentControl或Control类,c#,silverlight,user-controls,controls,C#,Silverlight,User Controls,Controls,我正在为WP7应用程序开发控件。我知道我可以通过从UserControl类(从control类派生)继承来快速创建控件。此外,此类控制不能定制,即:。,与控件相关的所有属性都是在用户控件中进行了编码的属性-它们不能在xaml等中重写。但是,有人能分享一下最佳实践/情况吗?关于何时直接从控件类继承vsContentControl/ItemControl类vsUserControl类(我是否遗漏了其他选项?) 谢谢。以下是您提到的每种控件类型的简要说明: 1.ItemsControl-当您希望控件包

我正在为WP7应用程序开发控件。我知道我可以通过从UserControl类(从control类派生)继承来快速创建控件。此外,此类控制不能定制,即:。,与控件相关的所有属性都是在用户控件中进行了编码的属性-它们不能在xaml等中重写。但是,有人能分享一下最佳实践/情况吗?关于何时直接从控件类继承vsContentControl/ItemControl类vsUserControl类(我是否遗漏了其他选项?)


谢谢。

以下是您提到的每种控件类型的简要说明:

1.ItemsControl-当您希望控件包含诸如ListBox、TreeView等项时,通常使用它。从ItemsControl派生时,最重要的部分之一是重写:

GetContainerForItemOverride

IsItemItsOwnContainerOverride

PrepareContainerForItemOverride

以下是一个例子:

请注意,该示例不是最新的Silverlight版本,但它详细说明了如何实现自定义控件

2.控件-当您想要实现一个没有内容或项属性的简单控件(例如文本框)时,您可以从控件派生

3.ContentControl—当您需要在控件中放置一些内容时。例如按钮内容。它取决于您的需要,基类的选择将是什么

您还可以查看SilverlightShow提供的与“如何实现自定义控件”相关的其他教程

我希望这能回答你的问题