当前位置:  开发笔记 > 编程语言 > 正文

将WPF应用程序转换为SilverLight

如何解决《将WPF应用程序转换为SilverLight》经验,为你挑选了4个好方法。

是否可以自动/轻松地将现有WPF应用程序转换为SilverLight?



1> Jonas Folles..:

我认为你可以轻松地将Silverlight移植到WPF.我花了2个小时移植和申请我花了3个星期写作.我认为花费的这两个小时将归类为最小的努力.

当然,您需要创建一个新项目,将文件添加到新项目并进行调整.

由于Silverlight是WPF的一个子集,因此从Silverlight到WPF的分配比其他方式更容易.

对于业务逻辑和非UI代码,您的代码应该几乎直接移植.我在身份验证方面遇到了一些小问题,因为Silverlight 2会在浏览器中获取任何身份验证信息,而在WPF中,您必须为自己的登录屏幕设置角色并管理Cookie等.

对于XAML,如果不设置控件样式,它将直接移植.如果你设置控件的样式,那么当前在WPF中缺少的Visual State Manager的使用会让事情变得有点棘手.您可以使用触发器在WPF中重新设置控件的样式,也可以使用John Gossman完成的WPF的VSM实现.微软已经宣布他们将把VSM添加到WPF中,以使这两个框架更加兼容.

也许最重要的重用难点是技能和经验.由于这两个平台非常相似,因此您可以重用WPF中的所有技能.

我最近做了一篇关于Dive Log示例应用程序的博客文章,以及我如何将它从Silverlight 2移植到WPF.可能会让你对这个过程有所了解.



2> Bogdan Maxim..:

并不是的.我已经找到了一些关于WPF和Silverlight的多目标选项的文章.在这个时刻,如果你不使用PRISM,那么对它们进行攻击是一个相当大的挑战,幸运的是可以实现.

您需要记住的是Silverlight使用比WPF更小(因此更有限)的库.

回应评论:实际上,PRISM(v2)已经支持Silverlight .PRISM的想法是为开发应用程序提供指导,不仅使用WPF,而且还使用Silverlight - Prism V2正式被称为WPF和Silverlight的复合应用程序指南.通过将PRISM用于Silverlight功能,它可以保证您的代码可以在两个平台上以最小的更改工作,如果没有(除了Visual Studio的不同项目类型).

但是,当然,如果您已经开始开发应用程序,则需要更改代码以使用PRISM.



3> Christopher ..:

Will和Bogdan的答案是正确的.这里的关键字是"minimal".Rob Eisenberg 在这里有一个不同的列表(虽然这是RTW之前).

WPF和Silverlight中的差异列表



4> 小智..:

没有.Silverlight在其自己的CLR版本中运行.它也是WPF,而不是WPF.你必须做大量的工作来转换它.


时代变了.查看.NET 4.0中现在支持的可移植类库.您可以构建可在不同支持的平台上使用的程序集:WP7,Silverlight WPF甚至XBOX应用程序.

推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有