我已经完成了一个使用WPF的完整项目,并且对XAML,Databinding和MVVM等主要概念有了(至少)很好的把握。我们“手工”做了所有事情 - 我们没有使用MVVM框架或第三方工具。所有的XAML都是手写的(没有Blend)。从WPF转到Silverlight:关键区别是什么?
我将在几周内开始的新项目是相当繁重的Silverlight,我希望尽快赶上速度。然而,我读过的大多数关于SL入门的文章都集中在XAML和数据绑定上。由于我对这些概念的介绍在我的记忆中仍然很新,我当然可以理解为什么这些教程会在这些主题上花费大量时间 - 学习曲线可能非常陡峭。然而,这些都是我已经熟悉的概念,并且发现自己必须通过大量的覆盖面来学习新的东西并引人注目。
所以我正在寻找的是我需要学习和理解的一些建议,从做一个熟练的WPFerer到一个熟练的Silverlight'er。这可以在形式:
- 一般建议
- 主要区别拇指
- 规则
- 资源/链接( “A WPFer指南 Silverlight的” 将是完美的:)
- 主要陷阱/注意事项
在此先感谢您的任何见解。
我很困惑“所有的服务调用需要在不同于UI线程的线程上。” - 我的理解是,所有的调用都必须是异步的,因为它们*可以在UI线程上。 – Gabe 2010-11-06 06:52:34
嘿Gabe,这里是Silverlight WCF团队开发人员Tomasz Janczuk的一句话(现在连接上面的答案)。 “Silverlight应用程序中的WCF代理使用启动Web服务调用的线程的SynchronizationContext来调度接收到响应时调用异步事件处理程序的情况。当Web服务调用是从Silverlight的UI线程应用程序,异步事件处理程序代码也将在UI线程上执行。“所以WCF会将你的调用回调到UI线程。但是,您不允许拥有阻止服务。 – 2010-11-06 07:10:25