是否可以将Windows Phone 7.0 Silverlight类库移植到Windows 10移动版

时间:2015-07-13 12:43:45

标签: silverlight windows-phone-8 windows-phone windows-phone-8.1 windows-10-mobile

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

2 个答案:

答案 0 :(得分:0)

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

如果您有便携式库,则问题应该少得多

答案 1 :(得分:0)

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

  • UI组件应该比较容易,只要不是很多 使用第三方控件,如Telerik for Windows Phone。 第三方库需要移植到WinRT平台 (或UWP,现在它也称之为),但情况并非总是如此。 大多数XAML都可以重复使用,但是一些命名空间,事件和属性的命名方式不同(例如:Tap成为Tapped)。 由于缩放方法不同,有些布局可能需要稍微重新设计(Silverlight将所有内容扩展,因为它假装屏幕总是宽480px)。
  • HTTP调用:这可能需要改变很多,具体取决于 如何在WP7库中实现它们。 Webclient不再 退出WinRT,HttpClient或创建自己的HttpWebRequest就是 要走的路。由于WP7应用程序默认没有async / await,我 建议改写这部分。
  • XML解析:这应该是兼容的(可能是一些小的语法更改)
  • I / O操作:可能是大规模的变化。 WP7使用了已被替换的隔离存储机制。使用CameraCaptureTask捕获图像,基本上所有使用传感器都必须重写。
  • 不再支持本地数据库。如果要在应用程序中使用数据库,请使用Sqlite。
  • WinRT中的应用程序生命周期也完全不同。 backstack中的页面不会自动缓存,并且页面中的许多事件的工作方式不同,或者可能不会像在Silverlight应用程序中那样同时发生

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