HTML/JS/CSS を使用して Metro 用のアプリを作成する過程で、(Web タイプのアプリでよくあることですが) サイト全体で共有される共通の UI コンポーネントがあることに気付きました。すばやく完了するために、たとえば、ページからページへのナビゲーション AppBar をコピーして貼り付けています (すべてのページではなく一部のページで必要です。それ以外の場合は、ナビゲーションの親に配置します)。
このアプローチは、いくつかの理由で私を悩ませ始めています。
- ナビゲーションに要素を追加する場合 (これは開発のこの段階でかなり頻繁に発生します)、nav 要素の HTML+ JS をナビゲーションのある各ページにコピー アンド ペーストする必要があります。
- 個々のページの HTML および JS ファイルが、ページの目的に関係のないコードで汚染されています。
- 開発者なら誰でも、これが優れたアプローチではない他の多くの理由を思い付くことができます。
ナビゲーション機能を独自の HTML/JS/CSS セットにカプセル化する独自のカスタム コントロールを定義できるようにしたいと考えています (ナビゲーターが子ページをデフォルトの HTML ページにロードする方法と同様)。また、そのようなコントロールにオプションを渡すとよいでしょう (「data-win-options」属性を使用すると思います)。これは、ASP.Net ユーザー コントロールまたは ASP.Net MVC パーシャル (およびその他の Web クライアント フレームワーク) とほぼ同等です。
残念ながら、現段階では、そのようなことをどのように行うべきかを説明するためのドキュメントはあまりありません。 C# と XAML のアプローチであり、HTML ではありません)。
それを念頭に置いて、私の質問は次のとおりです。
- これは問題にアプローチする良い方法ですか?(私はそうだと思いますが、他の意見があれば聞いてみたいです)。
- 問題に対する合理的に洗練されたソリューションを示す既存のサンプルがオンラインにありますか? もしそうなら、サンプルはどこにありますか? もちろん、解決策がある場合は、ここに回答を投稿してください。スタック オーバーフローがそれを気に入ってくれると確信しています...