闲话WinFrom与WPF(1) 差别篇——名称
2012年6月,我曾准备连载这个话题闲话WinFrom与WPF,最后半途而废。
此时想起,算是零星整理,毕竟如我等从WinForm转到WPF的大有人在,一个框架的学习成本太高,写在这里,对自己算是一个备忘,对他人希望有所帮助。
本人刚从WinForm转换倒WPF时,最烦的就是各种属性变名字的问题,感觉在这上面浪费时间真是太不划算。虽说换更正规的名字,更符合规范的名字有好处,但有时往往需要查找半天才能解决。
其实称作换名字,往往根本不是仅仅换个名字的问题。
这篇博客会一直更新
原文链接:http://nanqi.info/blog/2013/03/23/winform-wpf-1/
Enabled -> IsEnabled
如这种属性名更换的很多,WPF对于一些Boolean类型的属性会加Is前缀,来表达“是否”的概念,这当然是一种好的命名方式,但是同时你也会发现,也有不少同是Boolean类型的没有加Is,所以不能什么一棍子打死,不要写属性的时候,发现是Boolean类型,统统都加Is前缀。
当然没有加Is前缀可能也有名称冲突的问题,比如说UIElement有一个IsFocused的依赖属性来表示当前元素是否有焦点,那么一个元素是否能获得焦点的名字就必须改一个,不能叫做IsFocusable,而是直接叫Focusable。
Visible -> Visibility
这个属性的改变和布局密切相关,将不显示分为保留与不保留布局空间。
关于这个问题由来已久,这样改肯定有这样改的好处,但是往往形容一个元素的显示与否,都使用Boolean,这样就衍生出一个几乎所有项目里都有的一个转换器,并且名称都起的大同小异,如:BooleanToVisibilityConverter。
DropDownStyle -> IsEditable
在ASP.NET里,ComboBox叫DorpDownList,还能让我接受,但是WPF中把这个属性改为IsEditable又是为何?或许觉得ComboBox不需要第三个状态,但是这么一改,让我可是一顿好找啊,希望众位别犯我一样的错误。
HorizontalAlignment 与 TextAlignment
我知道这两个概念不一样,但是我不相信只有我一个人会同时用这两个枚举,令我想不通的主要还是为何两个枚举的值不一样?
HorizontalAlignment
1 public enum HorizontalAlignment 2 { 3 Left = 0, 4 Center = 1, 5 Right = 2, 6 Stretch = 3, 7 }
TextAlignment
1 public enum TextAlignment 2 { 3 Left = 0, 4 Right = 1, 5 Center = 2, 6 Justify = 3, 7 }
或许真的我用法不对,我可能只是让其文本
右对齐,而不是应该让其在父容器
右对齐。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?