Поделиться через


Практическое руководство. Открытие файла, перетащенного в элемент управления RichTextBox

В Windows Presentation Foundation (WPF) элементы управления TextBox, RichTextBox и FlowDocument поддерживают встроенные функции перетаскивания. С помощью этих встроенных функций можно перетаскивать текст внутри элементов управления и между ними. Однако они не позволяют открывать файл путем его перетаскивания на элемент управления. Эти элементы управления также помечают события перетаскивания как обработанные. В результате, по умолчанию нельзя добавить собственные обработчики событий для поддержки открывания перетащенных файлов.

Чтобы добавить дополнительную обработку событий перетаскивания в элементы управления, необходимо использовать метод AddHandler для добавления пользовательских обработчиков событий перетаскивания. Чтобы вызвать указанный обработчик для перенаправленного события, которое уже помечено как обработанное другим элементом, расположенным в маршруте события, задайте параметру handledEventsToo значение true.

СоветСовет

Встроенные функции перетаскивания элементов управления TextBox, RichTextBox и FlowDocument можно заменить, обработав версии предварительного просмотра событий перетаскивания и пометив события предварительного просмотра как обработанные.Однако применение этого способа не рекомендуется, поскольку он приводит к отключению встроенных функций перетаскивания.

Пример

В следующем примере демонстрируется добавление обработчиков событий DragOver и Drop для элемента управления RichTextBox. В этом примере используется метод AddHandler и задается значение true для параметра handledEventsToo, поэтому обработчики событий будут вызываться, даже если элемент управления RichTextBox помечает эти события как обработанные. Код обработчиков событий добавляет функцию открытия текстового файла при его перетаскивании на элемент управления RichTextBox.

Для проверки работы примера перетащите текстовый или RTF-файл из проводника на элемент управления RichTextBox. Файл будет открыт в элементе управления RichTextBox. Если при перетаскивании файла удерживать клавишу SHIFT, файл будет открыт как обычный текст.

Журнал изменений

Дата

Журнал

Причина

Апрель 2011

Добавлен раздел.

Обратная связь от клиента.