XAML は、使用する機能と同じくらい移植可能です。異なる名前空間と xmlns URI スキームを使用するため、同じ XAML ファイルを再利用することはできません。また、Silverlight は主にマウス + キーボード UI であり、WinRT/XAML は主にタッチであるため、UI を少し異なるものにしたいと思うでしょう。
XAML 以外の多くのコードを再利用できるように、必ず MVVM を使用してください。使用するコントロールを選択するときは、WinRT/XAML で使用できるか、適切な代替手段があることを確認してください。私が見た欠けているもののいくつかは、メソッド WriteableBitmap.Render()
、、、RadialGradientBrush
/バインディング、、またはコントロールでした。欠落している多くのコントロールのオープン ソース バージョンがありますが、Windows ストア アプリはタッチでうまく機能しないため、別の UI デザイン アプローチを使用することをお勧めします。TypeConverterAttribute
Style
Setter
TreeView
DataGrid
GridSplitter
参考TreeView
までに、Silverlight Toolkit から WinRT にコントロールを移植するのに約 2 ~ 3 時間、コントロールに約 20 ~ 30 時間を費やし、さまざまな種類のデータ ポイントとシリーズを含むコントロールをCalendar
移植するのに 20 ~ 30 時間を費やしました。 Chart
Mahmoud Moussa によるオリジナルのポート。使用する機能の複雑さに応じて、必要な労力は明らかに増加します。などを使用するだけの場合、Buttons, TextBoxes, TextBlocks, RadioButtons, CheckBoxes
ほとんどの場合、XAML を移植するためにコピー アンド ペーストを実行できます。また、テンプレート パーツと表示状態/表示状態グループがこれらのプラットフォーム間でわずかに異なるため、コントロールの再テンプレート化も避けます。そのため、作業をやり直すか、テンプレートの修正に時間を費やす必要があります。