0

すべての Windows Phone 開発者は、NavigationService と、URI を使用して指定されたコンテンツに移動する方法に精通している可能性があります。

 NavigationService.Navigate(new Uri("/Views/DetailsPage.xaml?selectedItem=" + selectedItem.ID, UriKind.Relative));

しかし、なぜそれがこのようになっているのかについての説明はありますか?

使用時の安全性に関する問題は次のとおりです。

  • クラスの名前を変更/移動/リファクタリングすると、URI は機能しなくなります。プロパティと同じです。
  • 指定されたページまたはプロパティが存在する場合、検証はまったくありません
  • これがページ ナビゲーションの標準的なメカニズムであるにもかかわらず、IDE が少なくとも相対 URI を検証して、クラスとプロパティが適合するかどうかを確認しないのはなぜでしょうか?
  • なぜ誰も気にしないように見えるのですか?

Android や iOS などと比較して、どちらも少なくともより多くのタイプ セーフを提供します。

4

1 に答える 1

0

説明は非常に簡単です。Silverlight です。

Silverlight が URI ベースのシステムを実装するのには明らかな理由があります。フレームワークは Web ブラウザー内で実行されるように設計されているため、ディープリンクの実装が容易になります (つまり、Silverlight アプリケーションの特定のページを開くWeb ブラウザーで要求された URI)。

Windows Phone のランタイムは Silverlight に基づいているため、同じシステムが単純に残っています。悪いことではないことに注意してください。確かに、ナビゲーション サービスに立ち寄ると、何のメリットもなくタイプ セーフが失われているように見えます。しかし、アプリケーションをセカンダリ タイルから起動できること、またはカスタム URI スキームから WP8 以降を起動できることを考えると、突然すべてが理にかなっています。

于 2013-04-10T10:03:46.390 に答える