0

我有一个 WPF 视图,我在其中根据视图绑定到 ViewModel 的列表中的对象类型动态创建控件。我在视图中有一个按钮,我已绑定到 ViewModel 中的 RelayCommand,但我还想将 CommandParameter 传递给命令。动态创建控件的类型有 ListBox、ComboBox、TreeView、RadionButton 和 CheckBox。因此,当我按下按钮时,我想获取控件中所有选定/选中的项目,并使用 CommandParamter 传递一个列表。

如果我在按钮上使用 Click 事件,我已经弄清楚如何搜索所有选定/选中的项目并获取类型代码(类名)的对象并将它们放入列表中。我想使用 RelayCommand 而不是使用 Click 事件。

我已设法将 CommandParameter 绑定到调用 GetAllSelectedCheckedCodes() 的属性,但它仅在创建视图时绑定。

是否可以在后面的代码中有一个属性,该属性调用在触发按钮命令时首先绑定的函数 GetAllSelectedCheckedCodes()。

或者,当它们被选中/取消选中或选中/取消选中时,是否可以让多个控件在 ViewModel 的列表中添加/删除项目?

4

1 回答 1

0

您是否可以向您的类添加一个属性,如 IsSelected 或 IsActive,并将其绑定到控件的 IsSelected 或 IsChecked 属性?然后,当您想对选定的项目采取行动时,您可以只获取集合中 IsActive == true 的所有项目。

于 2013-02-20T10:16:19.640 回答