我正在尝试通过 CommandParameter
传递 UserName。
<GridViewColumn Width="Auto" Header="UserName" >
<GridViewColumn.CellTemplate>
<DataTemplate>
<Button Click="Button_Click" Content="..." CommandParameter="{Binding Path=UserName}"></Button> </DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
但在这里我不确定我必须用什么来捕捉它...
private void Button_Click(object sender, RoutedEventArgs e)
{
// How to get UserName here?
}
有什么线索吗?
谢谢!
最佳答案
您可以使用这种方法做的最好的事情是:
private void Button_Click(object sender, RoutedEventArgs e)
{
var button = (Button) sender;
var userName = button.CommandParameter;
}
虽然它可以完成工作,但它不是 CommandParameter
应该使用的方式。 CommandParameter
应该作为参数传递给按钮的命令。因此,如果您将使用 Command
而不是处理 Button.Click
,您的命令将在其 Execute
和 CanExecute
中接收您的数据> 处理程序。请参阅 google 中命令和按钮的示例。例如,这是来自谷歌的第一个链接:How to use Commands in WPF
关于c# - 通过 CommandParameter 传递数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13255882/