从WPF迁移到Silverlight时的主要摩擦点是什么?如何填补功能空白?

Eig*_*ite 11 silverlight wpf design-patterns

好的,为了给一点背景知识,我在大约3年前学习了WPF,并且在各种不同的版本中保持了最新的结果.我在几个项目中查看(并实现了)MVVM,仔细研究了像Prism这样的框架,所以我觉得我对框架的大部分领域非常精通.我还简要介绍了几个小型的Silverlight 2.0项目.

我的问题是,我即将在一家新公司开始Silverlight工作,虽然我很自在能够很好地完成工作,但我觉得我的WPF知识可能会给我带来一些问题.我已经阅读了关于Codeplex 的WPF/Silverlight指南白皮书,这篇文章非常出色并且非常有用,但它突出了差异,但仍然让我想知道如何解决这些差异.

例如,我知道DataTriggers它们MultiBindings和其他一些东西都缺失了.我有兴趣阅读的不是本身的差异,而是你如何得到这些差异或其他模式在Silverlight中有用.如果我需要一个DataTrigger怎么办?显然我的设计应该考虑到这些因素.

所以,问题是,如果你经历了这种转变,那么哪些差异会给你造成最大的麻烦,你是如何解决这个问题的?

Jer*_*ess 3

首先,虽然这是 Silverlight 3 的版本,但本白皮书详细介绍了 WPF 和 Silverlight 之间的差异:

Microsoft WPF-Silverlight 差异白皮书 http://wpfslguidance.codeplex.com/releases/view/30311

这是熟悉差异的第一步。

您可能还想看看 Prism 项目。该项目的目标之一是在 Silverlight 和 WPF 之间构建一组可互操作的功能,以便您基本上可以构建针对这两个平台的企业应用程序并重用大部分代码。熟悉该项目也将有助于突出差异:

http://compositewpf.codeplex.com/

最后,虽然 Silverlight 可能没有数据触发器,但您可以使用行为和触发器等功能的组合:

http://www.silverlightshow.net/items/Behaviors-and-Triggers-in-Silverlight-3.aspx

以及视觉状态管理器 (VSM):

http://timheuer.com/blog/archive/2008/06/04/silverlight-introduces-visual-state-manager-vsm.aspx

完成您需要的大部分工作。