【发布时间】:2015-01-06 00:11:16
【问题描述】:
在一次采访中,该公司询问我在 WPF 中使用自定义控件的情况。我发现,使用 WPF 创建控件(数据模板、控件模板、样式、触发器等)的方式的所有功能,确实不需要编写重写 OnRender 方法的自定义控件。后来发现他们的大部分开发都是在Winforms中进行的。
如果从 100% WPF 方向进入控件,需要多久编写一次带有 OnRender 覆盖的自定义控件? Winform 方法实际上并没有利用 WPF 组合技术来创建控件,而且这似乎是一个没有太多 WPF 知识基础的问题。
谢谢 哈罗德
【问题讨论】:
-
在使用 WPF 的这些年里,我想我已经编写了 2 个自定义控件。那些人对WPF一无所知。仅当您真的知道自己在做什么时,重写 OnRender() 才是一个好主意,而不是通过将 WPF 视为 winform 来尝试将方形钉卡在圆孔中。
-
WPF != 以任何方式实现 Winforms
-
@HighCore 2.513自定义控件怎么写?不要回答,我小时候见过很多半生不熟的代码。
-
@danish 我听不懂你的评论
-
顺便说一句,为了清楚起见,我在 WPF 中编写了各种“自定义 UI”,从图表设计器到面包屑栏到动画时间线,再到棋盘到仪表控件甚至指南针.其中没有一个需要覆盖 OnRender()。
标签: c# wpf winforms custom-controls