2017-01-25 10 views
0

2つのリストビューがあり、アイテムを一方から他方にドラッグしようとしています。 アイテムのタイプはストレージファイルです。すべての私は表示することができました私は、他のリストビューに保存ファイルをドロップし、表示名を表示するように私は考えることができるすべてのものを試してみた1つのリストビューから別のリストビューにストレージファイルをドラッグ&ドロップする

private async void ListA_DragItemsStarting(object sender, DragItemsStartingEventArgs e) 
    { 
     List<IStorageItem> files = new List<IStorageItem>(); 
     StorageFile file = e.Items; 
     files.Add(file); 

     e.Data.SetStorageItems(files); 
    } 
    private void ListC_DragEnter(object sender, DragEventArgs e) 
    { 
     e.AcceptedOperation = DataPackageOperation.Copy; 

    } 
    private async void ListC_Drop(object sender, DragEventArgs e) 
    { 


     //if (e.DataView.Contains(StandardDataFormats.StorageItems)) 
     //{ 

     // var items = await e.DataView.GetStorageItemsAsync(); 
     // if (items.Count > 0) 
     // { 
     //  var storageFile = items[0] as StorageFile; 
     //  ListC.Items.Add(storageFile); 
     // } 
     // } 

    } 

は...種類やものです。

誰でも手伝ってもらえますか?

答えて

0

私は数時間後にそれを解決しました。

 private async void ListA_DragItemsStarting(object sender, DragItemsStartingEventArgs e) 
    { 
     //f.MessageBox(e.Items.First().GetType().ToString()); 
     try 
     { 
      List<IStorageItem> files = new List<IStorageItem>(); 
      StorageFile file = e.Items.First() as StorageFile; 
      files.Add(file); 
      e.Data.SetStorageItems(files); 
      //e.Data.SetData(StandardDataFormats.Text, e.Items.); 


     }catch(Exception ex) 
     { 
      f.MessageBox(ex.Message); 
     } 

    } 
    private async void ListC_DragEnter(object sender, DragEventArgs e) 
    { 
     e.AcceptedOperation = DataPackageOperation.Copy; 
     //IReadOnlyList<IStorageItem> files = await e.DataView.GetStorageItemsAsync(); 


    } 
    private async void ListC_Drop(object sender, DragEventArgs e) 
    { 
     try 
     { 
      if (e.DataView.Contains(StandardDataFormats.StorageItems)) 
      { 


       var items = await e.DataView.GetStorageItemsAsync(); 
       if (items.Count > 0) 
       { 
        var storageFile = items[0] as StorageFile; 
        ListC.Items.Add(storageFile.Name); 
       } 
      } 
     }catch 
     { 
      f.MessageBox("nope"); 
     } 
関連する問題