如何启用拖动和复制单元格功能与excel相同,其中+符号出现在单元格的右上角,在WPF中的c1 flexgrid中?

时间:2015-07-01 12:35:44

标签: wpf c1flexgrid

我需要在WPF中的C1FlexGrid中使用excel的Ctrl + D功能。 另外,我需要在C1FlexGrid中实现Excel单元格的拖动复制功能。

1 个答案:

答案 0 :(得分:0)

我不确定这与C1flexgrid有关,但值得一试。 检查"要求提升权限"在Silverlight项目属性和使用silverlight datagrid的drop事件中,可以处理从silverlight数据网格中的桌面拖放,前提是它不是OOB silverlight应用程序。

private void DocumentsDrop(object sender, DragEventArgs e)
{
 e.Handled = true;

var point = e.GetPosition(null);
var dataGridRow = ExtractDataGridRow(point);
if(dataGridRow !=null)
{.....
}

var droppedItems = e.Data.GetData(DataFormats.FileDrop) as      FileInfo[];
if (droppedItems != null)
 {
    var droppedDocumentsList = new List<FileInfo>();

    foreach (var droppedItem in droppedItems)
    {
        if ((droppedItem.Attributes & FileAttributes.Directory) == FileAttributes.Directory)
        {
            var directory = new DirectoryInfo(droppedItem.FullName);
            droppedDocumentsList.AddRange(directory.EnumerateFiles("*", SearchOption.AllDirectories));
        }
        else
        {
            droppedDocumentsList.Add(droppedItem);
        }
    }

    if (droppedDocumentsList.Any())
    {
        ProcessFiles(droppedDocumentsList);
    }
    else
    {
        DisplayErrorMessage("The selected folder is empty.");
    }
}
}

设置AllowDrop = true;在xaml中为datagrid。从DragEventArgs中提取信息为FileInfo Object。