首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Silverlight代码对WPF的可移植性如何?

在云计算领域,Silverlight 和 WPF 都是微软开发的技术,它们之间有一定的关联和区别。Silverlight 是一个基于 .NET Framework 的跨平台 Web 应用程序框架,而 WPF 是一个用于开发桌面应用程序的框架。

关于 Silverlight 代码对 WPF 的可移植性,这里有一些建议:

  1. 代码重用:由于 Silverlight 和 WPF 都基于 .NET Framework,因此它们之间有很多相似的类和 API。因此,在开发过程中,可以尽量使用通用的代码,以提高代码的可重用性。
  2. 用户界面:Silverlight 和 WPF 都使用 XAML 语言来定义用户界面,因此它们的用户界面代码可以进行一定程度的重用。但是,由于它们的控件库不完全相同,因此在进行代码迁移时需要注意控件的兼容性问题。
  3. 数据绑定:Silverlight 和 WPF 都支持数据绑定,因此数据绑定代码可以在两者之间进行重用。但是,需要注意数据绑定的语法和 API 在两者之间有所不同。
  4. 网络编程:Silverlight 和 WPF 都支持网络编程,因此网络编程代码可以在两者之间进行重用。但是,需要注意在进行网络编程时,不同的框架可能会使用不同的网络协议和 API。

总的来说,虽然 Silverlight 代码可以在一定程度上重用于 WPF,但是在进行代码迁移时需要注意各种兼容性问题。同时,针对不同的应用场景,还需要考虑使用不同的技术和框架,以获得最佳的性能和可靠性。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

SilverlightWPF中BeginInvoke差异

Silverlight/WPF中,如果要在多线程中界面控件值做修改,用Dispatcher对象BeginInvoke方法无疑是最方便办法 ,见:温故而知新:WinForm/Silverlight多线程编程中如何更新...UI控件值 但今天发现WPFBeginInvoke却无法自动将匿名方法/Lambda表达式转变成Delegate类型(注:委托,匿名方法,Lambda感到陌生朋友先阅读温故而知新:Delegate...,Action,Func,匿名方法,匿名委托,事件) silverlight代码片段: private void button1_Click(object sender, RoutedEventArgs...TestMethod2(object s) { this.Dispatcher.BeginInvoke(() => { this.textBlock1.Text =s.ToString() ; }); } WPF...不过仍然有点疑问:为啥编译器能自动认别Silverlight,却不认WPF呢?这算不算是编译器BUG(或是需要改进地方)

1K80

WPF认识

随着.NET学习深入,慢慢认识到了WPF。这应该属于新事物,属于.NET 3.0里面的一个组件~它出现相对于传统GUI程序来说是大变革。...XAML在WPF真正用途是界面描述,当然它也可以用来写代码。XAML将有效地把界面从代码中分离出来,使得程序员和设计师可以更好地合作,创造出更加优秀、漂亮应用程序,这是以前人们无法想象。...现在好了,有了WPF,程序员只管写和代码有关东西就可以了,UI层就交给美工设计人员去设计。...和ASP.NET一样达到代码和设计相分离… 目前WPF认识还只是在入门阶段,就目前来说要学习它时机还不是很成熟,当然,这只是我个人来说,毕竟我机器还够不上运行VS2008(注:VS2005也可以开发...WPF,需要相应安装程序包融合VS2005)。

46130
  • 如何自己写代码负责

    发版时间窗口不同 整个公司发版周期主要是周二,周四下午进行发版。一般都是周二灰度发版,周四于周二灰度情况进行正常全量发版或bug fix之后全量发版。...同时建立工具,可视化发现新代码提交记录,方式RD在QA不知情情况下合并代码,如果对应开发分支有代码变更可以推送rd和qa进行监督。...代码逻辑降级开关 每次新上线代码一定要有必要降级开关,可以随时将自己代码功能关闭,比如如果下游是客户端,如果在服务端发版上线后,客户端说功能有问题或者因为延期,客户端代码上不了,服务端已发版代码是不可能在回滚了...之前团队直接通过日志中心(ELK)方式所有机器日志进行收集和监控,通过统一日志平台进行关键字查询,更加便捷。...总结 代码质量不只是代码角度东西,更是整体上是项目交付把控,从多项目团队合作,项目管理流程把控,研发工具开发,研发流程化等多角度入手,共同达成对于代码质量负责目的。

    71330

    如何代码进行调优?

    3.1 将代码移除循环 与其在循环每次迭代时都执行一次某种计算,不如将其移动循环体外,只计算一次 3.2 合并测试条件 高效内循环应该包含尽量少测试条件,最好只有一个。...,通常可以通过重复代码并修改变量使用来删除这些赋值。...具体说来,删除赋值 i=j后,后续代码必须将 j看作i 3.5 消除无条件分支 快速循环中不应该包含无条件分支,通过“旋转”循环,在底部加上一个条件分支,能够消除循环结束处无条件分支 3.6 循环合并...短路单调函数 如果我们想测试几个变量单调非递减函数是否超过了某个特定阈值,那么一旦达到这个阈值就不需要计算任何变量了 4.3 测试条件重新排序 在组织逻辑测试时候,应该将低开销,经常成功测试放在高开销...成对计算 如果经常需要对两个类似的表达式一起求值,那么就应该建立一个新过程,将他们成对求值 6.5 利用计算机字并行性 用底层计算机体系结构全部数据路径宽度来高开销表达式求值 ----

    1.1K10

    AgileEAS.NET SOA 中间件平台5.2版本下载、配置学习(四):开源Silverlight运行容器编译、配置

    2.)Silverlight应用同其他WinForm/WPF/WebForm/WebMVC应用使用同样分布式服务端平台。     ...3.)Silverlight应用同其他WinForm/WPF/WebForm/WebMVC应用使用同样服务端业务代码。     ...三、学习Silverlight运行容器代码结构并进行编译      ActiveXForm运行容器运行网站由在”Silverlight.src”目录之中以源代码形式向大家提供,我们用VS2010或者VS2012...运行容器/环境必须有一个先决条件,那就是Silverlight必须运行AgileEAS.NET SOA 中间件分布式环境下,即我们SOA服务端必须运行,关于如何做这此工作,请参考前面的AgileEAS.NET...程序集并自动加载其中插件进行调试运行,如果这个值为True,则系统会自动加载参数Assembly所指向程序集,并加载其中插件到系统导航之中,并跳过系统登录账号所加载模块权限检查,直接运行,

    69680

    Silverlight初级教程-建立silverlight项目

    Silverlight初级教程 建立silverlight项目 首先在这里说明下,我是一个flasher同时我也做Asp.net编程,在这里我会以开发flash思路来介绍如何开发silverlight...建立silverlight项目一般可以用两个工具建立。blend和VS 2008。这两个工具建立项目是可以通用。不管用那一个建立都能用另一个完美的打开。...第一是建立WPF程序,第二个是建立WPF控件库,第三个是建立silverlight 1.0,第四个是建立silverlight  2.0。在这里我们选择第四个。...第一个是建立silverlight 2.0,第二个是建立silverlight控件库。这里我们选择第一个。...这里是询问如要创建一个什么类型silverlight容器。

    83660

    【翻译】MVP(SC),MVP(PV),PM,MVVM 和 MVC 表现模式架构对比

    【翻译】MVP(SC),MVP(PV),PM,MVVM 和 MVC 表现模式架构对比 翻译 CodeProject 上一篇文章,常见几种表现模式 (Presentation patterns) 进行了说明...表现模式 (Presentation patterns) 背景 与用户界面 (UI) 相关最大问题就是大量凌乱代码,主要是由这两个因素造成,首先是用户界面包含负责逻辑用于维护界面相关对象,其次也包含了应用程序状态维护...表现模式 (Presentation patterns) 就是围绕如何移除用户界面的复杂性,让界面更加简洁和可管理而产生,下图就是常见表现模式种类与分类: ?...,只关注简单界面绑定逻辑,例如 WPFSilverlight 等提供绑定机制 (Presenter owns the complex presentation logic....MVVM 继承自表现模型 使用 WPF 以及 Silverlight 绑定机制 ?

    82210

    Silverlight 结构分析

    本文重点在于探讨Silverlight整体架构,以及Silverlight应用程序是如何在浏览器中运行,各个子部分作用是什么。 1.     ...其他DLL文件在WPF类库中都有,只不过现在尺寸小了很多,这是作为浏览器应用所必须。 下图是Silverlight architecture图例,你可以把上面的DLL对号入座: ?...CoreCLR 如何才能使.Net代码在Web前端执行,如何才能使我们熟悉.Net技术继续适用于Web前端,于是微软推出了CoreCLR。...只是为了使CLR更适合Web,做了一些事情: -   基于Web应用场景,JIT进行优化,加快程序启动时间; -   只需要提供Workstation GC. 2.2  CoreCLR安全模型 Web...3.2  Silverlight运行顺序 最后我们看一下Silverlight应用在浏览器中是如何被执行: -   浏览某个带有Silverlight网页 -   浏览器加载Plug-in -

    88980

    VisualTreeHelper

    Silverlight中只有可视化树,没有WPF逻辑树,这一点可从SLsdk文档中得到印证: 可视化树概念也存在于 WPF 中,它与 Silverlight 可视化树概念类似。...然而,一个显著差异是 WPF 还提供一个附加筛选器或对象树(称为"逻辑树")概念。逻辑树概念与某些属性系统行为相关。Silverlight 不通过帮助器类来公开此逻辑树。...GetChild 使用提供索引,通过检查可视化树获取所提供对象特定子对象。  GetChildrenCount 返回在可视化树中在某一子集合中存在子级数目。  ...GetParent 返回可视化树中某一父对象。...GetChildrenCount用于获取下级子对象个数,GetParent用于获取某对象上级子对象  测试代码: <UserControl x:Class="ToolsTest.MainPage"

    81370

    WPF 后台代码做 TranslateTransform 动画

    本文告诉大家,在后台代码 TranslateTransform 做动画方法 今天小伙伴问我一个问题,说为什么相同代码,如果设置到按钮上,是可以让按钮某个属性变更,但是如果设置给 TranslateTransform... X 或 Y 就不会有任何值变更 在 WPF 中,通过 官方文档 里面的描述,对于 Freezable 类型对象,如 SolidColorBrush 和 RotateTransform 和 GradientStop...然而在 WPF 依然定义 Duration 类原因是为了支持 Duration.Automatic 和 Duration.Forever 特殊定义 如果是需要有多个属性开始做动画,不想使用 BeginAnimation...但是上面代码将会在资源字典加入一个 Storyboard 而没有释放,如果在你实际代码,我推荐在动画完成之后,删除资源字典动画 我特别翻了 WPF 编程宝典,发现宝典里面没有这部分知识,也就是没有告诉大家为什么直接给...github.com/lindexi/lindexi_gd.git 获取代码之后,进入 KayceefiwhearHaijanihukere 文件夹 Storyboards Overview - WPF

    78920

    WPF 最小代码使用 DynamicRenderer 书写

    WPF 中有 DynamicRenderer 提供高性能书写,这个类在 WPF 只有 InkCanvas 使用,如果想要在自己 UIElement 使用,需要写一些代码 先创建一个 UIElement...需要支持他输入层和显示层 输入层 对于 StylusPlugIn 需要加入到 UIElement StylusPlugIns 才能收到触摸消息 这部分原理比较复杂,请看 WPF 高速书写 StylusPlugIn...,也就是附加 MeexikelelHaiwurbe 是不可见WPF 高速书写 StylusPlugIn 原理 可以知道,在 StylusPlugIn 要收到触摸消息,需要附加元素可以收到消息才可以...,无论什么点都返回这个元素,于是这个元素就可以做到命中测试,宽度和高度都是最大 当然有层级关系,不会点到任何地方都命中这个元素,关于层级请看 WPF 原理 WPF代码 从零开始写一个 UI 框架...这里面介绍了一个 WPF 框架是如何,同时命中测试原理是什么 protected override HitTestResult HitTestCore(PointHitTestParameters

    40320
    领券