ディレクトリからファイルを表示するリストビューがあります。
ユーザーは、リストビューの各項目をフォルダ/デスクトップにドラッグすると、関連するファイルがそこにコピーされます。
これは正常に動作します。問題は、複数のアイテムに対してそうしたいということです。ユーザーは複数のリストビュー項目を選択し、それらを一緒にドラッグアンドコピーすることができます。 ListViewはSelectedMode = Multiple-に設定されていますが、選択した項目のすべてをコピーするわけではありません。WPFリストビューから複数の項目をドラッグ
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 = new String[1];
files[0] = "C:\\Users\\MyName\\Music\\My playlist\\" + FileView.SelectedValue.ToString();
string dataFormat = DataFormats.FileDrop;
DataObject dataObject = new DataObject(dataFormat, files);
DragDrop.DoDragDrop(this.FileView, dataObject, DragDropEffects.Copy);
}
}
ありがとう: はここに私のコードです!
驚くばかりに復元..しかし、まだ、小さいです!ありがとう! – amitairos