是否可以将 windows phone 7.0 silverlight class 库移植到 windows 10 mobile

Is it possible to port a windows phone 7.0 silverlight class library to windows 10 mobile

我有一个 windows phone class 库,它是为 windows phone 7.0(用 c# 编码)构建的。是否可以将相同的 class 库移植到 windows 10 移动 sdk?。或者,我是否需要从头开始编写整个 class 库以支持 windows 10 mobile.

大多数 UI 元素已从 wp7.0 更改为 Windows10。它将不得不完全重写。这同样适用于 WP 7.0 API.


如果你有便携库那么问题应该少很多

可以移植它,但不能自动移植。

  • UI组件应该是比较容易的,只要不是很多 使用了第三方控件,例如用于 Windows Phone 的 Telerik。 第三方库需要已经移植到WinRT平台 (或 UWP,现在称为 UWP),但情况并非总是如此。 大多数 XAML 都可以重复使用,但一些命名​​空间、事件和属性的命名方式不同(例如:Tap 变为 Tapped)。 由于缩放方法不同(Silverlight 将所有内容放大,因为它假装屏幕始终为 480 像素宽),某些布局可能需要稍微修改一下。
  • HTTP 调用:这可能需要进行大量更改,具体取决于 关于它们是如何在您的 WP7 库中实现的。网络客户端不再 退出 WinRT、HttpClient 或创建您自己的 HttpWebRequest 是 路要走。由于 WP7 应用程序默认没有 async/await,我 建议重写这部分。
  • XML 解析:这应该是兼容的(可能有一些小的语法变化)
  • I/O 操作:可能是巨大的变化。 WP7 使用了 Isolated Storage 机制,该机制已被取代。用CameraCaptureTask抓图,基本上所有传感器的使用都要重写
  • 不再支持本地数据库。如果您想在应用中使用数据库,请使用 Sqlite。
  • WinRT 中的应用程序生命周期也完全不同。后台堆栈中的页面不会自动缓存,并且页面中的许多事件以不同方式工作,或者可能不会与在 Silverlight 应用程序中同时发生

更多信息:Move from Windows Phone Silverlight to UWP