首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用户控件与自定义控件库的区别

用户控件与自定义控件库的区别
EN

Stack Overflow用户
提问于 2010-06-08 03:57:29
回答 2查看 9.4K关注 0票数 18

我正在使用C# 2008在WPF中创建一个日期/时间用户控件。我的第一个用户控件。我也使用了马修·麦克唐纳的书,“C# 2008中的专业WPF”。在那本书中,他强烈建议使用WPF自定义控件库项目模板创建一个用户控件;因此,我遵循了他的建议。我已经完成了代码的编写,这些代码将进入我所认为的代码隐藏文件。现在我准备好编写XAML了。

唯一的问题是,我刚刚发现没有对应的.xaml文件?所以,我不明白为什么在编写用户控件时使用WPF自定义控件库项目更好,或者更可取?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-06-08 04:14:15

用户控件和自定义控件解决了两个截然不同的问题。

UserControls旨在将多个WPF控件组合在一起,以便在其他控件的基础上构建一组功能。这通常用于组合窗口或屏幕的一部分,以便通过允许您将多个功能分组为一个“控件”来组织您的开发。例如,如果您想创建一个用于编辑用户的控件,该控件提供了名字和姓氏等文本框,则可以将单个UserControl拖放到窗口上并绑定到一个User实例来编辑此控件。(在本例中,您将使用标准控件,如TextBox,为更复杂的目的“组合”一个控件。)

然而,CustomControl意味着是一个新的单一控件。这通常是内置控件的替代(不能通过模板重做)。我发现,在WPF中对CustomControls的需求实际上相当少,因为WPF模板选项和附加属性允许您在完全了解标准控件后,对它们做几乎任何事情。

票数 29
EN

Stack Overflow用户

发布于 2011-08-02 04:56:51

我还想补充一点,如果你打算继承你的控件,那么使用一个用户控件将会使事情变得复杂。例如,如果创建一个具有在Xaml中定义的布局的基本用户控件,WPF框架将不允许您继承此控件并使用Xaml来定义子类的布局。在dotnet 3.5中,Xaml控件不能从另一个Xaml控件继承

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2992671

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档