您的XAML與您使用的功能一樣便攜。你不能重複使用相同的XAML文件,因爲它們使用不同的命名空間和xmlns URI方案,而且你很可能希望使UI稍有不同,因爲Silverlight主要是鼠標+鍵盤UI,而WinRT/XAML主要是觸摸。
請確保您使用MVVM能夠重用很多非XAML代碼。在選擇使用哪些控件時 - 確保它們在WinRT/XAML中可用或有很好的選擇。我看到的一些丟失的東西是WriteableBitmap.Render()
方法,RadialGradientBrush
,TypeConverterAttribute
,Style
/Setter
綁定,TreeView
,DataGrid
或GridSplitter
對照。雖然有許多缺失控件的開源版本 - 但您很可能希望爲Windows應用商店應用使用其他UI設計方法,因爲這些方法不適用於觸摸。
僅供參考 - 我花了大約2-3個小時的移植從Silverlight工具包到的WinRT的TreeView
控制,各地儘可能多的Calendar
控制和20-30小時,以港口Chart
控制其多種數據點和系列 - 這是馬哈茂德穆薩原來的港口之上。根據您使用的功能的複雜程度 - 所需的工作量顯然會增加。如果你只是使用Buttons, TextBoxes, TextBlocks, RadioButtons, CheckBoxes
等 - 你大多可以複製&粘貼到端口的XAML。我還會避免重新設計控件,因爲模板部件和可視狀態/可視狀態組在這些平臺之間略有不同,因此您需要重做工作或花時間更正模板。