【问题标题】:C#: Drag and Drop in WPF (Richtextbox)C#:在 WPF 中拖放(富文本框)
【发布时间】:2011-05-24 00:58:42
【问题描述】:

我想在 WPF 中实现拖放机制,但它不起作用... 使用 Windows-Forms 就可以了,...

首先我将 AllowDrop 设置为 True。在 windows-forms 中,您已经可以将项目拖动到 Richtextbox 中并且光标会发生变化。

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

下一点:实现 DragEnter 和 DragDrop 方法。 我按照在线手册上的说明做了。 (好吧,我不得不尝试更多,因为 DragDrop 在 WPF 中不存在) 我认为所有拖放教程都只适用于 Windowsforms,没有适用于 WPF...

富文本框有问题吗?如果我将其更改为“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();
}

【问题讨论】:

    标签: wpf drag-and-drop richtextbox


    【解决方案1】:

    我很好奇为什么,所以我玩了一点游戏并最终让它发挥作用。本质上,我首先绑定到 PreviewXXX 事件,如下所示:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-07
      相关资源
      最近更新 更多