我需要在WPF中的C1FlexGrid中使用excel的Ctrl + D功能。 另外,我需要在C1FlexGrid中实现Excel单元格的拖动复制功能。
答案 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。