更新:2011 年 4 月
在 Windows Presentation Foundation (WPF) 中,TextBox、RichTextBox 和 FlowDocument 控件都具有内置拖放功能。 通过该内置功能,可在控件内和控件之间拖放文本。 但是,该功能不支持通过将文件放到控件上来打开文件。 这些控件还会将拖放事件标记为已处理。 因此,在默认情况下,您无法添加自己的事件处理程序以提供用于打开所放置文件的功能。
若要为这些控件中的拖放事件添加其他处理,请使用 AddHandler 方法为拖放事件添加事件处理程序。 将 handledEventsToo 参数设置为 true,以便为已标记为由其他元素在事件路由过程中处理的路由事件调用指定的处理程序。
![]() |
---|
可通过处理预览版本的拖放事件并将预览事件标记为已处理来替换 TextBox、RichTextBox 和 FlowDocument 的内置拖放功能。但是,此操作会禁用内置拖放功能,因此不建议执行此操作。 |
示例
下面的示例演示如何为 RichTextBox 上的 DragOver 和 Drop 事件添加处理程序。 此示例使用 AddHandler 方法并将 handledEventsToo 参数设置为 true,这样,即使 RichTextBox 将这些事件标记为已处理,也会调用这些事件处理程序。 事件处理程序中的代码可添加功能,用于打开放置到 RichTextBox 上的文本文件。
若要测试此示例,请将一个文本文件或 RTF 格式文件从 Windows 资源管理器拖动到 RichTextBox。 该文件将在 RichTextBox 中打开。 如果在放置该文件前按 Shift 键,则该文件将以纯文本形式打开。
修订记录
日期 |
修订记录 |
原因 |
---|---|---|
2011 年 4 月 |
新增主题。 |
客户反馈 |