C# WPF中的自定义控件是否与Winforms中的自定义控件相同?
在一次采访中,公司询问了我在WPF中使用自定义控件的情况。我发现,凭借WPF创建控件(datatemplate、控件模板、样式、触发器等)的强大功能,编写一个覆盖OnRender方法的自定义控件真的没有必要。后来发现他们的大部分开发都是在Winforms中进行的 如果来自100%WPF方向的控件,则需要多久编写一次带有OnRender覆盖的customcontrol?Winform方法实际上并没有利用WPF组合技术来创建控件,这似乎是一个不基于WPF知识的问题 谢谢 哈罗德问得好(虽然有点基于观点),但没有答案?修理 若您是winforms经验丰富的开发人员,那个么在wpf中仍然可以接受winform方式。有一段时间。在这里,您可能会发现自制的控件大多是自定义控件(包含xaml和代码,甚至没有xaml)。但是你学的越多,你需要的就越少。许多任务可以在wpf中完成,因为它非常灵活。每个实体都包含一些可以定制的东西:模板、样式、转换器、行为,甚至是简单的事件处理 您可以从自定义控件开始,然后找出您真正不需要的内容(或者可以将其降级为简单的重新序列化) 当我开始制作第一个严肃的wpf项目时,有3个自定义控件,它们仍然是。这就是原因C# WPF中的自定义控件是否与Winforms中的自定义控件相同?,c#,wpf,winforms,custom-controls,C#,Wpf,Winforms,Custom Controls,在一次采访中,公司询问了我在WPF中使用自定义控件的情况。我发现,凭借WPF创建控件(datatemplate、控件模板、样式、触发器等)的强大功能,编写一个覆盖OnRender方法的自定义控件真的没有必要。后来发现他们的大部分开发都是在Winforms中进行的 如果来自100%WPF方向的控件,则需要多久编写一次带有OnRender覆盖的customcontrol?Winform方法实际上并没有利用WPF组合技术来创建控件,这似乎是一个不基于WPF知识的问题 谢谢 哈罗德问得好(虽然有点基于观
OnRender
(为轮廓构建和绘制几何体)UserControl
和view,而不是像现在这样可视化
显示,而且由于使用gdi+的性能,在ms
内可以绘制数百万个点(数百位数)结论:它是好的和有用的,尽管比winforms中的要少得多(在winforms中,您只需要没有其他选项)。在使用WPF的这些年里,我想我已经编写了整整两个自定义控件。那些人对WPF一无所知。重写OnRender()只有在您真正知道自己在做什么的情况下才是一个好主意,而不是像对待winforms.WPF一样对待WPF,试图将一个正方形的木钉塞进一个圆孔中任何形式的Winformsway@HighCore如何编写2.513自定义控件?不要回答,在我的小生命中,我看到了很多半生不熟的代码。@我无法理解你的评论。顺便说一句,为了清楚起见,我用WPF编写了各种各样的“自定义UI”,从图表设计者到面包屑条到动画时间线,再到棋盘,再到像标尺一样的控件,甚至是指南针。其中没有一个需要重写OnRender()。感谢您的反馈。。。可能在某种程度上是基于观点的,但对于来自Winforms的新WPF开发人员来说,这可能是指导WPF正确使用的巨大帮助。使用模板、样式和触发器在很大程度上是WPF的组成部分。所以这似乎也是一个有效的技术讨论。。。谢谢,重要的是要知道未来的雇主是否知道他们在干什么。。。