双击获取选定的Datagrid单元格值

时间:2017-11-01 09:30:36

标签: c# wpf datagrid

我想知道,如果可以通过双击所需的单元格来获取所选的DataGrid值。

我已经使用过这种方法,因此用户可以选择所需的单元格并按CTRL + C将其放入剪贴板,但是可以双击所选单元格然后以某种方式将其放入剪贴板中?

private void OrdersGrid_OnCopyingRowClipboardContent(object sender, DataGridRowClipboardEventArgs e)
{
   var currentCell = e.ClipboardRowContent[OrdersGrid.CurrentCell.Column.DisplayIndex];
   e.ClipboardRowContent.Clear();
   e.ClipboardRowContent.Add(currentCell);
}

1 个答案:

答案 0 :(得分:1)

我自己找到了解决方案。

通过双击获取单元格上所选值的解决方案。

private void OrdersGrid_OnMouseDoubleClick(object sender, MouseButtonEventArgs e)
{           
     var cellInfo = OrdersGrid.CurrentCell;
     {
         var column = cellInfo.Column as DataGridBoundColumn;
         if (column != null)
         {
              var element = new FrameworkElement() { DataContext = cellInfo.Item };
              BindingOperations.SetBinding(element, TagProperty, column.Binding);
              var cellValue = element.Tag;
              Clipboard.SetText(cellValue.ToString());
         }
     }                   
}