wpf DataGrid 实现拖拽变换位置,双击拖拽向下自动滚动

发布时间:2024年01月17日
  1. DataGrid_Drop事件是在拖放操作中释放拖动的对象时触发的事件。
  2. 使用VisualTreeHelper.HitTest方法获取鼠标释放位置的目标元素。
    循环向上遍历VisualTree,直到找到DataGridRow为止。
    如果找到DataGridRow,则获取其索引。
    检查索引是否有效,如果无效则返回。
    交换CmdButtons列表中的拖拽行与目标行的位置。
  3. DragDrop.DoDragDrop方法启动拖动操作
 private void DataGrid_Drop(object sender, DragEventArgs e)
    {
   
        DataGrid dataGrid = sender as DataGrid;

        int b = dataGrid.SelectedIndex;

        if (dataGrid != null)
        {
   
            Point position = e.GetPosition(dataGrid);
            HitTestResult hitTestResult = VisualTreeHelper.HitTest(dataGrid, position);
            DependencyObject target = hitTestResult.VisualHit;
            while (target != null && !
文章来源:https://blog.csdn.net/weixin_44291381/article/details/135650210
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。