2009-06-04 9 views
1

WPFまたはSilverlightでヘッダー/ラインフォーム(ヘッダー/詳細とも呼ばれます)を設定するためのベストプラクティスはありますか?モード・ビュー・ビューモデルのデザインパターンを使用して、残りのアプリケーションに合わせることをお勧めします。WPF/Silverlightでヘッダー/ラインを設定する方法

たとえば、データベースのすべてのSalesOrdersを表示するグリッドがあり、その下にSalesOrderDetails(販売注文の各行...各商品が販売されている)を示すグリッドが表示されます上部グリッドで選択された受注

私はGridのSelectionChangedイベントのコードビハインドファイルでこれを行うことができたが、すべてのXAMLとViewModelコードで宣言的な方法を使用したいと思います。これは可能ですか?私に詳細パターン -

おかげで、 ロイ

答えて

2

ヘッダー/行は、多くのマスターのように聞こえます。 MVVMを使用してこのようなものを実装するには、非常に簡単です。

MasterViewModelとDetailViewModelを持つ構造を作成する場合は、MasterViewModelに、詳細リストと現在のDetailを表すプロパティが必要になります。ビューでは、リストのItemSourceをDetailsのコレクションにバインドし、SelectedItemをCurrentDetailプロパティにバインドできます。次に、DataTemplateまたはUserControlのように、CurrentDetailを表し、詳細グリッドに値を表示する別個のViewを持つことができます。

マスターディテールパターンXAMLの実装には、いくつかの優れたリソースもあります。

Bea Stollnitzには、データソースにXMLを使用した2つの卓越したサンプルがあります。HereおよびHereです。

WPFでパターンを実装するにはMSDN videoがあります。 (ビデオはVBですが、コードはC#でダウンロードできます)。

この中でMSDN forumsディスカッションJohnny Q.は、MVVMを使用した簡単なマスター - ディテールセットアップを示しています。

Karl Shifflett's例コードはVBで通常であるが、また(しかし、いくつかの例は、C#およびVBのコードの両方が付いています。)、主従パターンを示す終わる

多くの
関連する問題