需要植入下方的事件,输入框才会有拖放功能
private void richTextBox1_PreviewDragOver(object sender, DragEventArgs e)
{
e.Effects = DragDropEffects.Link;
e.Handled = true;
}
private void richTextBox1_PreviewDrop(object sender, DragEventArgs e)
{
string[] strs = (string[])e.Data.GetData(DataFormats.FileDrop);
if (strs.Count() > 0)
{
RichTextBox rtb = sender as RichTextBox;
//var par = ((System.Windows.Documents.Paragraph)e.Source);
var link = new Hyperlink(new Run(strs[0])) { NavigateUri = new Uri(strs[0]) };//new TextBlock() { Text = strs[0] };
link.Click += new RoutedEventHandler((HyperlinkSender, b) =>
{
Hyperlink t_obj = HyperlinkSender as Hyperlink;
System.Diagnostics.Process.Start("explorer.exe", strs[0]);
});
Paragraph par = new Paragraph(link);
rtb.Document.Blocks.Add(par);
}
}