按下按钮时,将Datagrid选择传递给RelayCommand

时间:2013-11-06 13:52:47

标签: c# wpf data-binding datagrid mvvm-light

我是C#,WPF和MVVM的新手,并试图弄清楚如何解决以下问题: 我有一个绑定到ObservableCollection的Datagrid。此ObservableCollection由一个struct组成,该struct有多个字段,其中一个字段是一个名为clientName的字符串。我有一个提示命令的按钮。此命令要求clientName正确执行。

我通过使用绑定到datagrid的(第一个)所选项的属性来解决这个问题。通过按下按钮,将触发命令而不将clientName直接传递给命令。相反,它只是使用我所做的选择属性。

如何在不使用属性存储所选项目的情况下将datagrids当前选择传递给命令(按下按钮时)?

1 个答案:

答案 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
}