2009-08-04 16 views
3

私はWPF MVVMアプリケーションを持っています。ビューで私はマルチ選択ListBoxを持っています。 ViewModelには、リスト内の選択した項目のプロパティがあります。WPF ListBox + Binding + IDataErrorInfo =?

this質問の回答に似たテクニックを使用して、私の財産をListBoxに縛ることができます。

でも、私はIDataErrorInfoでデータ検証をしたいと思っています。私がしたいことは、ユーザーがリスト内の少なくとも1つの項目を選択したことを確認することだけです。バインドにValidatesOnDataErrors=Trueを追加しても機能しません。

IDataErrorInfoでデータバインドされた複数選択リストボックスを作成する方法はありますか?

+0

コードを掲載することはできますか?定義して "動作しません"?エラーが発生していますか? IDataErrorInfoの実装が呼び出されていますか? –

答えて

-1

もそれはあなたが

SelectedItem="{Binding FakeSelectedItem, ValidatesOnDataErrors=True}" 

のSelectedItem

バインドし、検証、このプロパティの変更を行うことができます複数選択リストボックスです。あなたは、リストボックスの選択項目とのViewModelのリストを結合するための行動を使用している場合、私は手動で項目を追加/削除した後結合更新し、このソリューション MVVM Multiselect Listbox

0

を使用してい結合するためのPS

var binding = BindingOperations.GetBindingExpression(this, SelectedItemsListBoxBehavior.SelectedItemsProperty); 
if (binding != null)binding.UpdateSource(); 
+0

binding.ValidateWhithoutUpdate()は使用できますが、ジョブを実行していないようです。 – Fanch