【发布时间】:2014-01-07 15:15:11
【问题描述】:
我有一个 silverlight 如下所示的 DataGrid
<sdk:DataGrid Name="DataGridDream" AutoGenerateColumns="False" HeadersVisibility="None" Background="Yellow" HorizontalAlignment="Center" Height="100" VerticalAlignment="Center" Width="120" >
<sdk:DataGrid.Columns >
<sdk:DataGridTextColumn Binding="{Binding By}" >
</sdk:DataGridTextColumn>
<sdk:DataGridTextColumn Binding="{Binding UserName}" >
</sdk:DataGridTextColumn>
<sdk:DataGridTemplateColumn>
<sdk:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button Name="ButtonSave" Content="Take" Click="ButtonSave_Click">
</Button>
</DataTemplate>
</sdk:DataGridTemplateColumn.CellTemplate>
</sdk:DataGridTemplateColumn>
</sdk:DataGrid.Columns>
</sdk:DataGrid>
我在 DataGrid 中有一个按钮的 Click 事件,
private void ButtonSave_Click(object sender, RoutedEventArgs e)
{
int Value = // Value of the UserId column when a button is clicked on that row
}
怎么做?
【问题讨论】:
-
我认为您可以尝试将当前 SelectedItem 与后面代码中的对象绑定。单击按钮后,该行应该处于选中状态,您可以通过检查您执行 SelectedItem 绑定的属性来简单地访问用户的 ID。
-
@Eisenhorn 你能告诉我怎么做吗
-
((Button)sender).DataContext 应该是当前数据网格行绑定的项。
标签: c# wpf silverlight datagrid