WPF Перетащите текстовый файл в приложение - PullRequest
0 голосов
/ 03 октября 2018

Я пытаюсь перетащить текстовый файл в мое приложение C # WPF, чтобы зафиксировать местоположение файла.До сих пор я пробовал следующее:

  1. Установите для свойства AllowDrop значение true
  2. Добавьте события DragEnter, DragOver и Drop - ни одно из них не сработает - все, что я получаю, эточерный круг с линией, проходящей через него, которая, я думаю, означает, что она недоступна.
  3. Добавил следующее в уровень манифеста приложения = "requireAdministrator" uiAccess = "false" />

В качестве альтернативы я использовал метод OpenFileDialog, но было бы неплохо иметь оба варианта.

1 Ответ

0 голосов
/ 03 октября 2018

Вы можете обработать события PreviewDragOver и Drop.Ниже приведен пример WPF TextBox, на котором вы можете удалить файл из проводника.Путь к первому удаленному файлу отобразится в TextBox.

private void TextBox_Drop(object sender, DragEventArgs e)
{
    if (e.Data.GetDataPresent(DataFormats.FileDrop))
    {
        string[] files = e.Data.GetData(DataFormats.FileDrop) as string[];
        if (files != null && files.Length > 0)
        {
            ((TextBox)sender).Text = files[0];
        }
    }
}

private void TextBox_PreviewDragOver(object sender, DragEventArgs e)
{
    e.Handled = true;
}

XAML:

<TextBox AllowDrop="True" PreviewDragOver="TextBox_PreviewDragOver" Drop="TextBox_Drop" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...