2009-04-14 15 views
5

すべてのチェックボックスは、同じタイプの異なる選択を表します(私の例では、すべて異なるファイルタイプです)。 ViewModel内の個々のプロパティにバインドするのは過度であり、それらをすべて1つのコレクションにバインドし、バインド構文を使用して各チェックボックスをキーによるコレクション内の特定の項目にバインドしたいと思います。私はMVVMパターンに固執しようとしているので、怠け者になってCheckedイベントなどを処理したいだけではありません。WPF MVVMバインディングチェックボックス。辞書内の指定された項目にチェックされています。<string、bool>

WPFバインディング構文を使用して、コレクション内のパスまたはキーを表現する方法はありますか?たとえば、FileTypesという名前のDictionary<string, bool>をViewModelのパブリックプロパティとして公開すると、チェックボックスの1つをFileTypes ["aspx"]にバインドする方法はありますか?もし私がDictionary<string, Dictionary<string, int>>のようなもっと複雑なデータ構造を持っていたら?

答えて

3

あなたはほとんどそれを持っていた - ちょうどインデクサ引数の周りに引用符をドロップします。

{Binding FileTypes[aspx]} 

より複雑なデータ構造は、ちょうどインデクサのシーケンスを必要とする、例えばところで

{Binding Foo[aspx][Bar]} 

は、このようなもののための優れたリソースは、WPFの下で、MSDNである>データ>データバインディング>宣言の概要をバインド - 「パス構文をバインド」までスクロール表記と規則の概要については、バインディングパスで使用できます。

関連する問題