我已将 WPF Datagrid 的 itemsource 设置为从 DAL 返回的对象列表。我还添加了一个额外的列,其中包含一个按钮,xaml 如下。
<toolkit:DataGridTemplateColumn MinWidth="100" Header="View">
<toolkit:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button Click="Button_Click">View Details</Button>
</DataTemplate>
</toolkit:DataGridTemplateColumn.CellTemplate>
</toolkit:DataGridTemplateColumn>
这渲染得很好。然而关于按钮_单击方法,有什么方法可以获取按钮所在的数据网格上的行吗?更具体地说,我的对象的属性之一是“Id”,我希望能够将其传递到事件处理程序中另一种表单的构造函数中。
private void Button_Click(object sender, RoutedEventArgs e)
{
//I need to know which row this button is on so I can retrieve the "id"
}
也许我需要在我的 xaml 中添加一些额外的东西,或者我可能会以一种迂回的方式来解决这个问题?任何帮助/建议表示赞赏。
基本上,您的按钮将继承行数据对象的数据上下文。我将其称为 MyObject,并希望 MyObject.ID 是您想要的。
private void Button_Click(object sender, RoutedEventArgs e)
{
MyObject obj = ((FrameworkElement)sender).DataContext as MyObject;
//Do whatever you wanted to do with MyObject.ID
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)