毎度のお約束、本記事はプレビュー状態のOS、IDE、SDKを利用しております。製品版では異なる可能性があります。
本記事はWindows 10向けのユニバーサルWindowsアプリについて学んだことを残して行く記事です。
これまでの記事はカテゴリ「UWP(Win 10) Preview」を参照ください。
MSDNのフォーラムで質問があったので調べてみました。
UWPアプリでのDrag&DropはWindows 8.1の頃と挙動が違うようです。
<GridView CanDragItems="True"> <x:String>ほげ</x:String> <x:String>ほげ</x:String> <x:String>ほげ</x:String> <x:String>ほげ</x:String> </GridView> <Grid AllowDrop="True" Height="402" Background="Black" Drop="Grid_Drop" DragOver="Grid_DragOver"> </Grid>
GridViewからアイテムをGridにドロップする操作を想定しています。
ドロップされる側にDragOverイベントハンドラ―を指定しています。
C#側は以下(適当なサンプルですみません)。
private void Grid_Drop(object sender, DragEventArgs e) { System.Diagnostics.Debug.WriteLine("ドロップされました"); } private void Grid_DragOver(object sender, DragEventArgs e) { e.AcceptedOperation = Windows.ApplicationModel.DataTransfer.DataPackageOperation.Copy; e.Handled = true; }
DataPackageOperationで移動(Move)などモードを切り替えられます。
Win 8.1の頃と違って外部ファイルもドロップできるのが嬉しいですね。
Please give us your valuable comment