C#:在WPF中拖放(Richtextbox)

use*_*899 3 wpf drag-and-drop richtextbox

我想在WPF中实现一个拖放机制,但它不起作用...使用Windows-Forms工作,...

首先,我将AllowDrop设置为True.在Windows窗体中,您可以将项目拖动到richtextbox中并更改光标.

使用WPF ......没有任何反应.

nexT要点:实现DragEnter和DragDrop方法.我这样做就像在线手册所说的那样.(好吧,我不得不尝试更多的东西,因为在WPF中不存在DragDrop)我认为拖放的所有教程仅适用于Windowsforms,WPF没有任何内容......

richtextbox有问题吗?如果我将其更改为"allowDrop" - 没有任何反应.光标仍然是不允许的符号.

希望有人可以帮忙:)

我阅读的教程中的示例代码:

richTextBox1.AllowDrop = true;

void richTextBox1_DragEnter(object sender, DragEventArgs e)
{
    e.Effect = DragDropEffects.None;

    if (e.Data.GetDataPresent(DataFormats.XXX))
    {
        e.Effect = DragDropEffects.Copy;
    }
}

void richTextBox1_DragDrop(object sender, DragEventArgs e)
{
    //intert in richtextbox ...
    richTextBox1.methodeXY();
}
Run Code Online (Sandbox Code Playgroud)

Tom*_*Tom 7

我很好奇为什么所以我有一点玩,最终让它工作.基本上,我开始绑定到PreviewXXX事件,如下所示:

AllowDrop="True" PreviewDragEnter="RichTextBox_DragEnter" PreviewDragOver="RichTextBox_DragEnter" PreviewDrop="RichTextBox_Drop"
Run Code Online (Sandbox Code Playgroud)

即使如此,他们仍然没有工作.但答案来自这里,以提升权限的形式.我通常使用管理员提升运行VS2010.因为我将一些文件从资源管理器中删除到我的上面RichTextBox,所以它基本上禁止操作,因为资源管理器在非提升用户模式下运行.以非提升模式运行VS2010可解决问题.链接的文章确实提出了一些解决方法,但我还没有尝试过.