我有一个WPF数据网格
<DataGrid AutoGenerateColumns="False" Name="dataGrid1" IsReadOnly="True" >
<DataGrid.Columns>
<DataGridTextColumn Header="Site" Binding="{Binding Site}" Width="150" />
<DataGridTextColumn Header="Subject" Binding="{Binding Subject}" Width="310" />
</DataGrid.Columns>
<DataGrid.ContextMenu>
<ContextMenu>
<MenuItem Header="Delete" Click="Context_Delete">
<MenuItem.Icon>
<Image Width="12" Height="12" Source="Images/Delete.png" />
</MenuItem.Icon>
</MenuItem>
</ContextMenu>
</DataGrid.ContextMenu>
</DataGrid>
我有一个点击事件处理程序,代码如下:
private void Context_Delete(object sender, System.EventArgs e) { }
我该如何获取上下文菜单被点击前所在的行?sender
对象是System.Windows.Controls.MenuItem
,而不是DataGridRow
。我该如何获取上下文菜单被点击时所在的DataGridRow
?(我在后台文件中设置了DataGrid.ItemSource
。)