0

ビューがViewModelでバインドされているリストのオブジェクトタイプに応じて動的にコントロールを作成するWPFビューがあります。ビューモデルのRelayCommandにバインドしたボタンがビューにありますが、CommandParameterをコマンドに渡したいです。動的に作成されるコントロールのタイプは、ListBox、ComboBox、TreeView、RadionButton、およびCheckBoxです。したがって、ボタンを押すと、コントロール内のすべての選択/チェックされた項目を取得し、これをCommandParamterでリストに渡します。

ボタンのClickイベントを使用する場合、選択/チェックされたすべてのアイテムを検索し、タイプCode(クラス名)のオブジェクトを取得してリストに入れる方法を理解しました。ClickEventを使用する代わりにRelayCommandを使用したい。

CommandParameterをGetAllSelectedCheckedCodes()を呼び出すプロパティにバインドできましたが、ビューが作成されたときにのみバインドされます。

Buttonコマンドがトリガーされたときに最初にバインドされる関数GetAllSelectedCheckedCodes()を呼び出すプロパティをコードビハインドに含めることは可能ですか?

または、複数のコントロールで、選択/選択解除またはチェック/オフのときに、ViewModelのリスト内のアイテムを追加/削除することは可能ですか?

4

1 に答える 1

0

IsSelected または IsActive のようなプロパティをクラスに追加し、それをコントロールの IsSelected または IsChecked プロパティにバインドできますか? 次に、選択したアイテムを操作したい場合は、IsActive == true であるコレクション内のすべてのアイテムを取得できます。

于 2013-02-20T10:16:19.640 に答える