作为一个WPF应用程序实现的WinForms应用程序示例?

5

我正在尝试学习更多关于WPF的知识,我已经阅读了一些关于Model-View-ViewModel(MVVM)的内容,但如果我创建一个WPF应用程序,我认为我仍然会出于习惯以与winforms相同的方式进行操作。据我所知,这将最终让我编写不可扩展的代码。

因此,为了学习“正确”的方法之一是比较和对比现有的简单winforms应用程序,该应用程序也正确地在wpf中实现。

我不需要复杂的内容,可能只需要几个表单和几个控件。有人知道像这样的简单示例吗?

4个回答

4

请查看此视频,其中介绍了Winforms思路,并将其转换为WPF中的MVVM模式。源代码也可供参考。


1
首先,我建议创建一个测试WinForms项目和一个测试WPF项目。然后在每个窗体上添加一个按钮和一个文本框,并比较WinForms应用程序中的“设计器生成的代码”与WPF应用程序中的XAML。
接下来,您可以在两个项目的设计器窗口中双击按钮,VS将为WinForms和WPF中的按钮创建OnClick处理程序。这将允许您比较两个平台的事件处理功能。
我们在第一次深入研究WPF时遇到的另一个常见问题是:
XAML - get user control position relative to whole window as binding property
您会很快学习到,在WinForms中我们习惯于做的许多简单事情,例如位置,在WPF中不再可用。
除此之外,我只想补充一点,WPF 最大的学习曲线在于设计顺序与我们所熟悉的完全相反。在 WPF 中,你需要先创建应用程序的所有内部工作,然后再将该代码绑定到用户界面。这将有助于避免像你提到的那样陷入编码困境,几乎比其他任何事情都更重要。

0
你可以看一下WAF Windows Forms Adapter。它展示了在WPF和Windows Forms中使用MVVM模式将UI与业务逻辑分离的Book Library示例应用程序的两种实现方式。

0

请查看CodePlex上的WPF未来发展,链接在这里http://www.codeplex.com/wpf/Release/ProjectReleases.aspx?ReleaseId=14962,并获取WPF Model-View-ViewModel Toolkit 0.1

安装后,您可以在Visual Studio中使用MVVM模板创建新项目。

这是创建使用MVVM的WPF应用程序的良好起点。要记住的基本原则是,在任何可能的情况下,视图(UI)和ModelView应仅通过数据绑定进行通信。

在我试图理解WPF时,我发现这个模板非常有用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接