【问题标题】:Binding CommandParameter to code behind Property将 CommandParameter 绑定到 Property 后面的代码
【发布时间】:2013-02-20 09:40:42
【问题描述】:

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

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

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

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

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

【问题讨论】:

  • 我认为您的问题将有更好的机会通过简短的代码示例得到回答,这很容易通读并理解

标签: wpf mvvm


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2016-05-16
    • 2018-05-08
    • 1970-01-01
    • 2020-02-19
    • 2018-11-24
    • 2011-01-06
    • 2018-11-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多