我是C#,WPF和MVVM的新手,并试图弄清楚如何解决以下问题: 我有一个绑定到ObservableCollection的Datagrid。此ObservableCollection由一个struct组成,该struct有多个字段,其中一个字段是一个名为clientName的字符串。我有一个提示命令的按钮。此命令要求clientName正确执行。
我通过使用绑定到datagrid的(第一个)所选项的属性来解决这个问题。通过按下按钮,将触发命令而不将clientName直接传递给命令。相反,它只是使用我所做的选择属性。
如何在不使用属性存储所选项目的情况下将datagrids当前选择传递给命令(按下按钮时)?
答案 0 :(得分:2)
尝试将此添加到您的Button
:
CommandParameter="{Binding ElementName=yourDataGrid, Path=SelectedItem}"
或直接绑定到clientName
SelectedItem
- 属性
CommandParameter="{Binding ElementName=yourDataGrid, Path=SelectedItem.clientName}"
您的命令可能如下所示:
YourCommand = new RelayCommand<ParameterType>(CommandExecMethod);
private void CommandExecMethod(ParameterType arg)
{
//your code
}