5

すべてが同じ種類の異なる選択を表すチェックボックスのグループがあります (私の例では、それらはすべて異なるファイルの種類です)。ViewModel の個々のプロパティにそれぞれをバインドするのはやり過ぎのように感じます。それらをすべて 1 つのコレクションにバインドし、バインド構文を使用して、各チェックボックスをコレクション内の特定の項目にキーでバインドすることをお勧めします。私はMVVMパターンに固執しようとしているので、怠惰になってCheckedイベントなどを処理したくないだけです。

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

4

1 に答える 1

3

ほとんどの場合、インデクサー引数を引用符で囲みます。

{Binding FileTypes[aspx]}

より複雑なデータ構造では、一連のインデクサーが必要になります。

{Binding Foo[aspx][Bar]}

ところで、このようなリソースは MSDN の WPF > Data > Data Binding > Binding Declarations Overview にあります。バインディング パスで使用できる表記法と規則の概要については、「バインディング パスの構文」までスクロールしてください。 .

于 2009-04-14T03:29:18.567 に答える