如何开始WPF开发?

我从.NET 1.1开始就一直使用Winforms,我想开始学习WPF。

我正在为WPF初学者寻找一些好的资源。 我应该阅读什么,我需要什么工具,以及我应该遵循的最佳实践是什么?

请看看这个StackOverflow文章 ,它有一个图书推荐列表。

在最佳实践方面,熟悉MV-VM模式 。 它似乎已经获得了WPF土地最大的牵引力。

看看这个post ,你可以使用什么工具来进行WPF开发。

MSDN论坛是资源的好地方,就像WPF上的MSDN帮助文件一样。

我个人的build议是让你忘记你所了解的有关WinForms的一切。 WPF是一个完全不同的模型,一旦我终于放弃了我的“我在WinForms中这样做了,但这种方式在WPF中不起作用”我有一个“灯泡”的时刻。

希望这可以帮助!

学习曲线很高,但有很多非常好的资源。 而且,MSDN文档和SDK示例(如一些已经提到的)非常好。

有一件事可以帮助你,只是在前面承认学习曲线,当没有道理时不要灰心丧气。 在做一些基本的事情之前,确实有很多概念要“唠叨”。

已经提到的WPF书籍都是有价值的。 我个人的经历是,我得到了一个WPF Unleashed的副本,并尝试读取它无济于事。 直到我拿起Charles Petzold的应用程序=代码+标记并阅读了其中的一些内容之后,才开始理解WPF Unleashed 。 然而,在概念实际沉入之前,我的大脑需要细节。

Tim Sneath有一个WPF博客的优秀列表,我觉得这个博客很有价值,可以吸引WPF社区: WPF Bloggers

我的一些博客必须阅读清单:

  • Rob Relyea
  • WPF博士
  • 约什史密斯
  • Robby Ingebretsen
  • 凯文·摩尔
  • Charles Petzold
  • Pavan Podila

另一件我会做的是得到博士WPF的片段库(位于这里 )。 这是学习一些基本pipe道types概念(如依赖属性,路由事件和路由命令)的极好方法。

最后,我会得到一个Blend的副本(V2.5仍处于testing版和免费版),然后使用它来生成xaml,然后深入到生成的xaml中,了解Blend中所做的事情,映射到WPF API。

希望这可以帮助。 祝你好运。

1开始了解XAML和控制heirarchies – 用户界面标记和周围的新术语和function。 KaXaml是学习XAML的好工具,可免费下载http://www.kaxaml.com/

2由于您已经有了很长的.NET体验,请直接转到SDK Samples并开始运行,看看发生了什么事情,并使用XAML进行操作。 http://msdn.microsoft.com/en-us/library/ms771449.aspx

3如果您正在寻找博客资源,这是我最好的build议

但select一个简单的UI场景,你已经实现或看到的地方,并尝试在WPF中实现 – 这可能是学习一种新技术的最佳方法。

请不要担心MVVM,一旦熟悉了WPF平台和XAML,那些东西就会变得方便起来。

Adam Nathan的 – WPF Unleashed,书很好。

我推荐Adam Nathan 发表的“ Windows Presentation Foundation ”一书

那么我build议你写一个应用程序。 像所有其他开发环境一样,没有完美的指导方针。 你必须find那些对你的情况最有意义的东西。 唯一的方法就是开始编码。

至于工具,Visual Studio 2008 [Express]是你最好的select。 或者你可能会与XamlPad一起跛行。

我也强烈build议使用Blend和VS 2008. Blend非常适合创buildanimation。

Blend 2.5 Preview可以自由下载。

我喜欢devise器WPF博客 ,其中有一些关于如何在Blend中做WPF的好教程。

虽然上面已经列出,但我想重申一点。

Kaxaml是没有,最好的松散xaml编辑器在那里。 它有一个代码库,智能感知,拆分视图,一个xaml洗刷(漂亮的打印),等等。

我只希望我们可以挂钩一些程序集(你可以参考xaml)…

Robby Ingebretsen,你摇滚。

掌握WPF(以及Silverlight,基本上任何基于XAML .net的丰富的UI框架)需要的不仅仅是理解新的开发概念(还有很多)。 它不足以完全理解依赖属性,附加属性,模板,数据绑定,样式,MVVM,布局机制,视觉状态和部分,效果,路由事件…要真正了解你的方式,你需要了解一些基本graphics中的概念(如vectorgraphics,光栅graphics,渲染,分层graphics技术,animation,像素着色器,渐变,几何graphics,path,画笔,变换matrix等)。 除此之外,您还需要学习和理解MV-VM,这不仅仅是一种新的devise模式 – 它是一种全新的编程模式。 所以有很多东西需要学习…而问题在于无论你select哪个起点,你都会觉得缺less某些东西。

我尝试了几本书作为起点,其中许多让我感到困惑。 然后我发现了Daniel M. Solis的“Illustrated WPF”,这个对我来说是个骗局。 他以一种开发人员很清楚的方式解释了graphics世界中的概念,然后讲解了基于XAML的用户界面的所有新概念,同时轻松触及每个主题,并通过演示深入到特定的主题。 只要按照教程,你会发现你学到了很多,更重要的是,消除了恐惧因素。

一旦你掌握了这一点,你可以继续深入亚当·纳丹的“WPF释放”。 这个给你一个更深入的WPF独特的概念视图,我相信如果你至less看了一次这个function,你就有更好的理解机会。 他们以某种方式完成彼此,只有合理的意义。

之后你仍然可以学习很多东西,但是现在你可以开发丰富的应用程序,随时学习新的主题。

请享用 :-)

Visual Studio 2008(有一个免费的快速版本)。 这就是你需要的所有工具。

然后尝试一些操作方法video。 这是一个很好的开始: http : //windowsclient.net/learn/videos_wpf.aspx

微软实际上在MSDN上有一个很好的介绍: http : //msdn.microsoft.com/en-us/library/aa970268.aspx

我会谦虚地build议看一下我的博客, 关于WPF的2000件事情 ,我每天都会在WPF上发布一条信息。 博客从最初的原则开始,逐渐成为更高级的主题,所以作为初学者,这是一个开始的好地方。

我发现的一个资源真的帮助我从jfo的编码: http : //blogs.msdn.com/jfoscoding/articles/765135.aspx

该文件的标题是“知道WinForms的人的WPF”,这正是我去年的立场!