У меня есть DataGrid с AllowDrop="True" и Drop="MyDropEvent". Давайте проигнорируем обработку события drop, потому что она сводится к следующему:
Если я попытаюсь перетащить файлы из проводника Windows в свой DataGrid во время запуска моего приложения через VS или после при создании .exe-файла он работает: при перетаскивании на DataGrid курсор корректно обновляется, а при удалении вызывается MyDropEvent.
Однако, если я упаковываю то же приложение WPF с помощью MSIX, установите полученный msixbundle и запускаем установленное приложение, перетаскивание файлов из проводника в мое приложение просто дает мне стандартный красный перечеркнутый кружок, и никакие события DragOver или Drop никогда не вызываются.
Пока я Я использовал DataGrid в качестве примера, то же самое касается и других элементов. Кажется, перетаскивание из проводника где-то полностью заблокировано.
Я подозреваю, что это какая-то проблема с разрешениями/безопасностью, хотя я не понимаю, что именно происходит и как чтобы это исправить.
Я проверил уровни целостности моего приложения и explorer.exe через Process Explorer, и оба они находятся на среднем уровне, на котором я и ожидал.Вот как выглядит мой .appxmanifest нравится:
Код: Выделить всё
xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
IgnorableNamespaces="uap rescap uap3">
Подробнее здесь: [url]https://stackoverflow.com/questions/79299697/drag-and-drop-from-explorer-not-working-in-wpf-app-packaged-with-msix[/url]