Мне нужно добавить в свое приложение место, где пользователи могут удалять файлы, и они выглядят так же, как при перетаскивании файлов в папку на окнах.в здесь есть программа, которая обладает необходимой мне функциональностью, но она написана с использованием форм Windows, и я использую wpf.так что эта программа великолепна, потому что в ней есть те особенности, которые мне нужны.позвольте мне перечислить функции:
1) Я могу получить те же значки, что и на моем рабочем столе.
2) Я могу перетаскивать папки и файлы в другую сторону.обратите внимание, как я перетаскиваю папку с библиотеками на картинке
![enter image description here](https://i.stack.imgur.com/zSvHp.png)
3), когда я щелкаю правой кнопкой мыши по файлу, я получаю то же контекстное меню, что и на окнах
![enter image description here](https://i.stack.imgur.com/JKIAB.png)
4) Я могу перетаскивать файлы и папки.
![enter image description here](https://i.stack.imgur.com/EnTvJ.png)
обратите внимание, что диалоговое окно файла примера было создано с использованием оконных форм иисходный код можно скачать по первой предоставленной мной ссылке.
Я не хочу создавать файловый диалог, в противном случае я буду использовать класс openFileDialog.Мне нужно вставить границу в мое приложение wpf, где пользователи могут перетаскивать и выбирать файлы.также они могут перетаскивать файлы извне и открывать файлы оттуда.
Итак, это 4 вещи, которые мне нужно добавить в мое приложение wpf, позвольте мне описать вещи, которые я сделал, чтобы попытаться решить каждый метод.
1)
Я пытался найти так много разных мест, чтобы получить код, необходимый для извлечения значков из файлов, и они никогда не выглядят так же, как на рабочем столе.Я пробовал: это и это тоже и некоторые другие, которые я не могу вспомнить прямо сейчас.
обратите внимание, что этот шаг будет легким. Меня больше интересуют другие функции
2)
этот может быть самым сложным.Я не реализовал это, но я думал, что для достижения этой функциональности мне потребуется другое окно.это окно будет содержать изображение внутри.Всякий раз, когда я перетаскиваю свою мышь на иконке, я создаю экземпляр этого окна, передавая изображение, которое я перетаскиваю в качестве параметра, и оно закрывается на вентиляции onMouseUP.Я не знаю, как отследить, в каком окне я отпускаю мышь, поэтому я не уверен, стоит ли мне пытаться реализовать эту технику
3)
Я понятия не имею, какреализовать эту функцию.
4)
, который один легко.Единственная сложность заключается в том, что иногда вы можете перетаскивать файлы с отдельного диска, такого как флэш-накопитель, и у вас должен быть способ для его копирования.или, может быть, вы перетащите ссылку из меню Пуск Windows.
Может быть, я могу использовать функциональность диалогового окна.Мне кажется, мне не нужно изобретать велосипед.Я не очень разбираюсь в формах окон, поэтому мне сложно реализовать этот код в wpf.