DataGridでダブルクリックされたセルをお手軽に取得する方法。
MouseDoubleClickイベントでマウスカーソル下のFrameworkElementを得れば対象のセルまで辿り着けます。
xaml
<DataGrid ItemsSource="{Binding dataSource}" MouseDoubleClick="DataGrid_MouseDoubleClick">
(略)
</DataGrid>
コードビハインド
private void DataGrid_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
var elem = e.MouseDevice.DirectlyOver as FrameworkElement;
if (elem != null)
{
DataGridCell cell = elem.Parent as DataGridCell;
if (cell == null)
{
// ParentでDataGridCellが拾えなかった時はTemplatedParentを参照
// (Borderをダブルクリックした時)
cell = elem.TemplatedParent as DataGridCell;
}
if (cell != null)
{
// ここでcellの内容を処理
// (cell.DataContextにバインドされたものが入っているかと思います)
}
}
}