私はSilverlight/Prismを初めて使用するため、新しいレイアウトページがどのようにレンダリングされるかわかりません。シェルをマスターページのように機能させていますが、異なるレイアウトマスターを使用してアプリケーションに複数のページを配置したいと考えています。では、別の(シェル)ページまたはレイアウトページを取得して、さまざまな領域を配置するにはどうすればよいですか?概念的なフィードバックをありがとう!
3 に答える
プログラムでさまざまなビューをロードできるように、シェルビューにContentControlまたはItemsControlのいずれかを含めることを検討しましたか。これらのさまざまなビューには、リージョンまたは必要なものを含めることができます。
また、PRISMはビュッフェに例えられていることを覚えています。使用するパーツを選択できます。ItemsControlとContentControlを確認したら、リージョンが提供するものを検討してください。
マスターページのようにPrismリージョンを扱うと、常に混乱が生じるようです。(ASP.Netのように)表示されるすべてのページの周りに新しいシェルをレンダリングする可能性があるようには設計されていません。これは、ブラウザ->サーバー->ブラウザモデル用に作成され、リクエストごとにページが再作成されます。
マスターページスタイルのシナリオを実装するために実際に行っているのは、同じリージョン名が定義されているが、ビジュアルや位置が異なるアウターシェルの選択肢を提供することだけです。ルートビジュアルの要素/領域を介してシェルを変更すると、すべての子領域が新しい家に再配置されます。
個人的には、Silverlightをデスクトップアプリケーションのように扱い、Webサイトのようには扱いません。私はマスターページのアイデアを捨てて(それが後ろ向きに感じられるので)、全体的な変更に動的なスタイルを使用するだけです。
お役に立てれば。
次のスレッドは、同様の状況を扱っています。お役に立てば幸いです。
ありがとう、ダミアン。