首页 文章

C#:在WPF中拖放(Richtextbox)

提问于
浏览
3

我想在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();
}

1 回答

  • 7

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

    AllowDrop="True" PreviewDragEnter="RichTextBox_DragEnter" PreviewDragOver="RichTextBox_DragEnter" PreviewDrop="RichTextBox_Drop"
    

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

相关问题