スタンドアロンアプリケーションでWPFナビゲーションを使用するのがベストプラクティスですか? WPF MVVMパターンでも使用できますか?スタンドアロンアプリケーションでWPFナビゲーションを使用する
答えて
あなたの2番目の質問に答えるために、はい、WPFナビゲーションはMVVMパターンでかなりうまく使用できます。
最初の質問がある限り、最良の答えは「それは依存する」です。具体的には、作成しようとしているアプリケーションによって異なります。いくつかのアプリケーションは論理的に「ナビゲーション」アプリケーションであり、ユーザはある種の方法で一連の画面をナビゲートすることが期待されますが、他のアプリケーションでは異なるパラダイムがあります。私はあなたに与えることができる最高のアドバイスは、それを戦うことではありません - あなたのアプリケーションがナビゲーションコンテキストで意味がある場合は、忘れずにWPFナビゲーションを使用してください。
おそらく、アプリケーションでナビゲーションパラダイムを使用するかどうかを判断する最良の方法は、戻るボタンが意味を持つかどうかです。そうであれば、組み込みのWPFナビゲーションサポートを使用できるように、FrameまたはNavigationWindowを使用することになります。
System.Windows.Navigationがまだ本番アプリケーション用に用意されているとは思いません。 WPF4アプリケーションで使用すると、ページ間でデータをやりとりする必要がある場合には不便です。
また、databinding to fail after using back or forward navigationという深刻なバグが発生しました。
MVVM、MVC、MVPスタイルのアプリケーションには、数多くのWPFツールキットとフレームワークが存在します。これらのほとんどすべてが、マイクロソフトがカスタムビルドナビゲーションサービスを提供するハイパーリンク、ページ、フレーム、およびジャーナルのクラスに置き換わります。開発者コミュニティは、System.Windows.Navigationに「信頼できない投票」を与えているようです。 今後、ナビスタイルアプリのサポートが改善されることを願っています。
ナビゲーションメタファーに適したアプリケーションをお持ちの場合は、おそらくこれらの代替フレームワークを調査する価値があります。 (もちろん、これらのツールキットには独自の学習曲線があります)
私はまだこの問題に対する自分自身のアプローチを探しています。
- 1. スタンドアロンアプリケーションでSpringを使用する
- 2. スタンドアロンアプリケーションでバックエンドサービスプロバイダを使用する
- 3. qooxdooスタンドアロンアプリケーションでヘッダ、フッタ、ナビゲーション、メインなどを定義する
- 4. WPF MVVMでのナビゲーション
- 5. ウェブサイトとスタンドアロンアプリケーションでDjangoフレームワークを使用
- 6. スタンドアロンアプリケーション用のapache sparkでmagellan geospatialライブラリを使用する
- 7. スタンドアロンアプリケーションでのSpark View Engineの使用
- 8. ナビゲーションWPFで検索コンボボックス
- 9. WPFのナビゲーションを動的にする - XMLファイルを使用しますか?
- 10. スタンドアロンアプリケーションでスプリング統合を使用できますか?
- 11. WPF MVVMナビゲーション渡しデータ
- 12. wpfキーボードのナビゲーション動作
- 13. WPF Prism - ビューのないナビゲーション?
- 14. スタンドアロンアプリケーションでDALとAuthを使用した場合のAttributeError
- 15. WPFでのページの自動ナビゲーションC#
- 16. スタンドアロンアプリケーション用のRESTful APIコールバック
- 17. ビューテンプレートのナビゲーションにページャーを使用する
- 18. WPFビューモデルを使用してソースを変更してフレーム内ナビゲーションを行う
- 19. スタンドアロンアプリケーションにはどのJREを使用しますか?
- 20. PHPスタンドアロンアプリケーション
- 21. スタンドアロンアプリケーションQt
- 22. C++スタンドアロンアプリケーション
- 23. .NETオブジェクトを使用してスタンドアロンアプリケーションでCrystal Reportを駆動できますか?
- 24. CSSを使用したナビゲーション
- 25. フレックスボックスを使用したナビゲーション
- 26. ナビゲーション機能を備えたWPFコントロール
- 27. EJB-MDB、Eclipse、Jettyサーバーを使用したスタンドアロンアプリケーションの例?
- 28. WPFアプリケーションでWebサービスを使用する
- 29. WPFでMS ReportViewerを使用する
- 30. MapPointコントロールをWPFアプリケーションで使用する
スタンドアロンWPFアプリケーションで使用されているナビゲーションの良い例を知っていますか? – dthrasher
+1は "それのために戦わないでください"事。多くのアプリは、そのナビゲーションシナリオでは意味をなさない。 – TomTom