@@ -27,34 +27,28 @@ public static async Task Drop(DragEventArgs e, MainViewModel vm)
2727 {
2828 RemoveDragDropView ( ) ;
2929
30- var files = e . Data . GetFiles ( ) ;
30+ var files = e . DataTransfer . TryGetFiles ( ) ;
3131 if ( files == null )
3232 {
3333 await HandleDropFromUrl ( e , vm ) ;
3434 return ;
3535 }
3636
37- var storageItems = files as IStorageItem [ ] ?? files . ToArray ( ) ;
38- var firstFile = storageItems . FirstOrDefault ( ) ;
37+ var firstFile = files . FirstOrDefault ( ) ;
3938 if ( firstFile == null )
4039 {
4140 return ;
4241 }
4342
4443 // Handle opening additional files in new windows if needed
45- if ( storageItems . Length > 1 )
44+ if ( files . Length > 1 )
4645 {
47- _ = Task . Run ( ( ) => HandleAdditionalFiles ( storageItems . Skip ( 1 ) ) ) ;
46+ _ = Task . Run ( ( ) => HandleAdditionalFiles ( files . Skip ( 1 ) ) ) ;
4847 }
4948
5049 var path = firstFile . Path . LocalPath ;
5150
52- if ( e . Data . Contains ( "text/x-moz-url" ) )
53- {
54- await HandleDropFromUrl ( e , vm ) ;
55- await EnsureImageViewerDisplayed ( vm ) ;
56- }
57- else if ( path . IsSupported ( ) )
51+ if ( path . IsSupported ( ) )
5852 {
5953 await EnsureImageViewerDisplayed ( vm ) ;
6054 await LoadSupportedFile ( path , vm ) ;
@@ -73,15 +67,17 @@ public static async Task Drop(DragEventArgs e, MainViewModel vm)
7367
7468 public static async Task DragEnter ( DragEventArgs e , MainViewModel vm , Control control )
7569 {
76- var files = e . Data . GetFiles ( ) ;
70+ var files = e . DataTransfer . TryGetFiles ( ) ;
7771 if ( files != null )
7872 {
7973 await HandleDragEnterWithFiles ( files , vm , control ) ;
8074 }
8175 else
8276 {
83- // Try handling as URL
84- var handled = await HandleDragEnterFromUrl ( e . Data . Get ( "text/x-moz-url" ) , vm ) ;
77+ // // Try handling as URL
78+ var value = e . DataTransfer . Items [ 0 ] ;
79+
80+ var handled = await HandleDragEnterFromUrl ( value , vm ) ;
8581 if ( ! handled )
8682 {
8783 RemoveDragDropView ( ) ;
@@ -129,15 +125,17 @@ private static void HandleAdditionalFiles(IEnumerable<IStorageItem> additionalFi
129125
130126 private static async Task HandleDropFromUrl ( DragEventArgs e , MainViewModel vm )
131127 {
132- var urlObject = e . Data . Get ( "text/x-moz-url" ) ;
133- if ( urlObject is byte [ ] bytes )
128+ var item = e . DataTransfer . Items [ 0 ] . TryGetRaw ( DataFormat . CreateBytesPlatformFormat ( "text/x-moz-url" ) ) ;
129+ if ( item is not byte [ ] bytes )
134130 {
135- var dataStr = Encoding . Unicode . GetString ( bytes ) ;
136- var url = dataStr . Split ( ( char ) 10 ) . FirstOrDefault ( ) ;
137- if ( url != null )
138- {
139- await LoadFromUrl ( url , vm ) ;
140- }
131+ return ;
132+ }
133+
134+ var dataStr = Encoding . Unicode . GetString ( bytes ) ;
135+ var url = dataStr . Split ( ( char ) 10 ) . FirstOrDefault ( ) ;
136+ if ( url != null )
137+ {
138+ await LoadFromUrl ( url , vm ) ;
141139 }
142140 }
143141
0 commit comments