我在 WPF 中的 C1FlexGrid 中需要 excel 的 Ctrl+D 功能。我还需要在 C1FlexGrid 中实现 Excel 单元格的 Drag n Copy 功能。
问问题
282 次
1 回答
0
我不确定这是否与 C1flexgrid 一起使用,但值得一试。在 silverlight 项目属性中选中“需要提升的权限”,并使用 silverlight datagrid 的 drop 事件,如果它不是 OOB silverlight 应用程序,则可以在 silverlight datagrid 中处理从桌面拖放。
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 中。从 DragEventArgs 中提取信息作为 FileInfo 对象。
于 2016-02-19T13:10:07.720 回答