Этот вопрос довольно старый, поэтому я не уверен, есть ли у вас ответ или нет, но вы можете установить какой-либо идентификатор в свойстве тега изображения, которое вы можете использовать для идентификации строка (или, точнее, объект, привязанный к строке), из которого происходит щелчок. Я предполагаю, что вы привязываете какой-то объект из коллекции к строке и что в вашем событии тип «отправитель» имеет тип «изображение».
<data:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Image Width="20" Stretch="Fill" Name="Delete" Source="/Portal;Component/Images/Delete.png" MouseLeftButtonDown="ImageDelete_MouseLeftButtonDown" Tag="{Binding Id}"/>
</DataTemplate>
</data:DataGridTemplateColumn.CellTemplate>
Теперь вы можете получить доступ к идентификатору объекта, который привязан к строке, по которой щелкнули, вот так ... (в VB)
Private Sub ImageDelete_MouseLeftButtonDown(sender As System.Object, e As System.Windows.Input.MouseButtonEventArgs)
Dim img As Image = TryCast(sender, Image)
Dim id As Integer = CInt(img.Tag)
' Do stuff with id
End Sub
в C #:
Private void ImageDelete_MouseLeftButtonDown(System.Object sender, System.Windows.Input.MouseButtonEventArgs e)
{
Image img = sender as Image;
int id = Convert.ToInt32(img.Tag);
// do stuff with id
}
код здесь