【发布时间】:2011-11-29 11:06:11
【问题描述】:
如果我想稍后将 C# 应用程序从 Winforms 转换为 WPF,有什么方法可以设计吗?
我已经计划在不同的项目中拥有一个单独的数据层,但是还有什么需要做的吗?
【问题讨论】:
-
这必须是重复的问题,但我可以找到重复的!
如果我想稍后将 C# 应用程序从 Winforms 转换为 WPF,有什么方法可以设计吗?
我已经计划在不同的项目中拥有一个单独的数据层,但是还有什么需要做的吗?
【问题讨论】:
实际上,您可以研究在 WPF 世界中广泛使用的 MVVM 模式。由于这两个框架都在 .NET 客户端框架中,因此您可以根据您的目的调整一些 WPF 类,例如 ICommand 接口。尽管 WPF 严重依赖数据绑定,但某些技术也可以在 WinForms 中使用。例如,实现INotifyPropertyChanged 接口的类上的数据绑定是 WPF 视图模型的常见做法,也适用于 WinForms。在 WPF 中,您可以将按钮绑定到视图模型的 ICommand 属性,在 WinForms 中,您首先将事件处理程序分配给按钮,然后调用 ICommand 实现。因此,您可以做很多事情来构建应用程序并使其轻松移植到 WPF。
这还有一个好处是您已经在表示和业务逻辑之间有了清晰的分离。 Viewmodels 与 WPF 配合得非常好,但这并不意味着它们也不能在其他框架中使用。
【讨论】: