我想在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();
}
答案 0 :(得分:7)
我很好奇为什么所以我有一点玩,最终让它上班。基本上,我开始绑定到PreviewXXX事件,如下所示:
AllowDrop="True" PreviewDragEnter="RichTextBox_DragEnter" PreviewDragOver="RichTextBox_DragEnter" PreviewDrop="RichTextBox_Drop"
即使如此,他们仍然没有工作。但答案来自here,以提升权限的形式出现。我通常使用管理员提升来运行VS2010。因为我将一些文件从资源管理器中删除到我的RichTextBox
,所以它基本上禁止操作,因为资源管理器以非提升用户模式运行。以非提升模式运行VS2010可解决问题。链接的文章确实提出了一些解决方法,但我还没有尝试过。