我有一个列表视图,显示目录中的文件.
用户可以将列表视图中的每个项目拖动到文件夹/桌面,并在那里复制关联的文件.
这很好用.问题是 - 我想对多个项目这样做 - 因此用户可以选择多个listviewitems并将它们拖放并复制在一起.ListView设置为SelectedMode = Multiple-但它不会复制所有选定的项目.这是我的代码:
private void FileView_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
this.start = e.GetPosition(null);
}
private void FileView_MouseMove(object sender, MouseEventArgs e)
{
Point mpos = e.GetPosition(null);
Vector diff = this.start - mpos;
if (e.LeftButton == MouseButtonState.Pressed &&
Math.Abs(diff.X) > SystemParameters.MinimumHorizontalDragDistance &&
Math.Abs(diff.Y) > SystemParameters.MinimumVerticalDragDistance)
{
if (this.FileView.SelectedItems.Count == 0)
{
return;
}
// right about here you get the file urls of the selected items.
// should be quite easy, if not, ask.
string[] files …Run Code Online (Sandbox Code Playgroud)