2012-03-03 4 views
2

私は500ページ以上のページがあり、いくつかのページではいくつかの処理が行われるアプリケーション(医学療法の種類)があります。どのように私はそのようなアプリケーションを設計する必要があります。500ページ以上のwpfアプリケーションを設計するには

現在、フレームがあり、フレーム内にこれらのページを埋め込んでいるメインウィンドウがありますが、各ページごとにその数を増やす必要があります(この膨大な数のxamlページ)。

誰もより良いデザインやアプローチを提案できますか?

+0

データの形式は何ですか?一部のページではどのような処理が行われますか? – Paparazzi

答えて

0

このタイプの大規模な複合アプリケーション向けに特別に設計されたフレームワークがあります。

フレームワークはPRISM 4で、次を参照してください。http://compositewpf.codeplex.com/

Prismは、豊かな柔軟性、そして簡単に維持するWindowsのプレゼンテーション 財団(WPF)デスクトップ構築、あなたがより簡単に設計に役立つと するように設計ガイダンスを提供アプリケーション、Silverlightリッチインターネット アプリケーション(RIA)、およびWindows Phone 7アプリケーション。 ような懸念や疎結合の分離などの重要な建築設計原理を具現化 パターンを、デザインを使用すると、Prismは デザインにあなたを助け、 は独立して進化させることができ疎結合コンポーネントを使用してアプリケーションを構築するが、それは簡単かつシームレスに に統合することができます全体のアプリケーション。これらのタイプのアプリケーション は、複合アプリケーションとして知られています。

0

アプリケーションが主にドキュメントビューアであるかのように聞こえます。そうであれば、ドキュメントは、処理を含むアクティブなコンテンツのための何らかの種類の特殊なトリガーを使ってある種のマークアップで保存することができます。

ページを表示するとき、アプリケーションはマークアップを処理してWPF表示形式に変換し、アクティブな処理要件が検出されると、プログラムは特殊なユーザーコントロールを挿入するか、ページとやりとりするために他のシステムを使用できます。

0

@Dougからキューを取得すると、ドキュメントビューアを探しているようです。その場合、あなたが本当に望んでいるのは、現在のところインスタンス化されているページ(ListBoxが使用しているVirtualized Stack Panelにいくぶん似ている)だけの「仮想化されたドキュメント」だけだと思います。

私は近年、MVVMデザインパターンの偉大なファンとなりました。あなたのビューモデルでは、currentPageプロパティ(サブビューモデル)とBinding(おそらくデータテンプレート)を使用してこのページをレンダリングする方法を知っているビュー(XAML)が必要です。

ページ間を移動すると、ViewModelのcurrentPageプロパティを変更するだけです。すべてが自動的に更新されます(一度INotifyPropertyChangedが正しく実装されると)。ビューのレンダリングが遅すぎる場合は、キャッシュメカニズムを追加することを検討してください。

関連する問題