2009-04-21 13 views
1

多対多の関係を持つエンティティモデルがあります。シンプリシティのために、そのエンティティと機能(cdプレーヤー、moonroofなど)エンティティを想定することができます。Silverlight/WPF多数のチェックボックスのリストバインド

私は車のエンティティを編集するためのSilverlight/WPFフォームを用意しています。可能なフィーチャーのリスト(フィーチャー表のすべて)をチェック・ボックスのリストにしたいと思います。その部分は簡単です。しかし、チェックボックスをチェックすると、そのチェックボックスをオフにして、その機能と車の関連付けを追加/削除するように、チェックボックスをバインドするエレガントな方法を考えようとしています。

これは、古いWinFormsスタイルのイベントハンドラで簡単に行うことができますが、データバインディングを使用してこれを行う方法があるかどうかを知りたいので、プレゼンテーションとロジックを分離しておくことができます

答えて

1

プレゼンテーションパターンMVVMを見ましたか?

私は、バインドするViewModelクラスを作成することをお勧めします。このクラスには、チェックボックスをバインドするためのHasSunroofのようなプロパティを含めることができます。これらのプロパティの設定メソッドでは、関連するプロパティを変更できます(Sunroofプロパティのように)。

代わりにIValueConverterを使用することもできます。実際のプロパティにバインドします(例:Sunroof)。コンバーターで、Sunroofの値がヌルと等しくない場合はtrueを返し、そうでない場合はfalseを返します。 ConvertBack()関数は、IsCheckedがtrueの場合をプロパティの必須オブジェクトに変換できます。

関連する問題