0

ViewModel オブジェクトに DataCountext がバインドされたデータ入力フォームがあります。

フォームには (特に) 多数の CheckBox 要素が含まれ、それぞれが ViewModel のブール値にバインドされています。これらの CheckBox は、2 つの GroupBox にグループ化されます。

処理方法がわからないビジネス要件が 2 つあります。

  1. グループボックス 1 の少なくとも 1 つのチェックボックスが選択されているか、グループボックス 2 の少なくとも 1 つのチェックボックスが選択されています。
  2. グループボックス 1 の何かが選択されている場合、グループボックス 2 のすべてが選択解除され、その逆も同様です。

誰にもアイデアはありますか?

4

2 に答える 2

0

ViewModel でカバーするもののように聞こえます。VM は、すでに有効な状態 (何かが選択されている) である初期状態を取得します。ユーザーが他のものを選択した場合は、他のグループのプロパティを false に設定することで対応できます。

于 2012-04-16T14:53:40.633 に答える
0

問題 1 の解決策は簡単です。VM のプロパティ セッターに、設定してはならないフィールドをクリアさせます。バインドすると、表示が適切に更新されます。

問題 2 の解決策はもう少し複雑です。GroupBox レベルでエラーを表示するには、BindingGroup を GroupBox にアタッチし、適切な ValidationRule を追加する必要があります。

于 2012-04-19T21:58:31.970 に答える