为什么要跳到WPF来制作商业应用程序,而不是使用Winforms

19 浏览
0 Comments

为什么要跳到WPF来制作商业应用程序,而不是使用Winforms

我们的团队有经验在Winforms和ASP.net项目上工作。

就像程序员交流中的其他程序员建议我们跳到WPF,而不是使用WinForms为我们的基于客户端的商业应用程序。

现在我开始开发我的第一个使用WPF的项目,这对我来说有点棘手,因为这是我第一次尝试使用它。

你能给出更深入的信息,为什么我们需要跳到WPF,而不是使用WinForms吗?

我需要说服我们的经理,我们可以在我们的客户端项目上深入研究WPF。

我们正在使用VS 2008。

admin 更改状态以发布 2023年5月22日
0
0 Comments

我写了一个针对有Windows Forms背景并计划转移的开发人员的WPF与MVVM系列

它介绍了一些WPF基础知识,展示了它如何让你以不同于Windows Forms的方式进行开发,包括引入(温和地)模板化、命令和其他概念,这些都与WPF中极好的数据绑定有关。

这将为WPF提供一个良好的介绍,并展示为什么它对于商业应用可能比Windows Forms更好。

0
0 Comments
  1. 挑选一个好的MVVM框架。我个人使用Microsoft Prism。其他选择请看这个StackOverflow问题

  2. 路由事件仅适用于视图。例如,如果你想在多行文本框的文本变化时滚动到末尾。

  3. 命令用于绑定逻辑在视图模型(业务逻辑)中的事件...例如,提交按钮。

  4. 如果你的团队中有设计师,请让他们开始尝试使用Expression Blend并了解样式/布局。Expression Blend可以让你使用样本数据查看应用程序布局,而不必每次都运行它。

  5. 了解ContentControlContentPresenter不同之处

  6. 了解ItemsControl的工作方式。在SelectedItemSelectedValueSelectedValuePath之间存在差异

  7. 看很多在线示例。例如Dr. WpfWPFTutorial.netJosh Smith on WPF等。

  8. 如果你计划利用代码UI测试(测试实际用户界面),那么请确保命名重要的控件(大多数MVVM教程告诉你不需要命名任何控件)。如果你不打算进行编码UI测试,请不要命名你的控件,除非你需要从视图本身引用它们。

  9. IValueConverterIMultiValueConverter仅应用于将属性转换为与视图相关的项目。最常用的转换器是BooleanToVisiblity转换器。

  10. TargetNullValueFallbackValueStringFormat在使用绑定时很重要。不要假设被绑定的数据始终可用和正确。

  11. 你几乎总是从你的视图模型中公开ObservableCollectionReadOnlyObservableCollection。很少会返回其他类型的集合,包括IEnumerable

  12. 在选择BindingMode时要小心:OneWayOneTimeTwoWayOneWayToSource(警告:OneWayToSource很棘手...它仍需要一个getter,因为它不是一个只写绑定)。

  13. 一个免费的好的调试工具是Snoop。它类似于运行WPF应用程序的DOM浏览器。一个更高级(不免费)的工具,更强大一些是Mole

这就是我现在能想到的...哦,如果你遇到困难,StackOverflow是你的朋友 🙂

0