2010-12-11 143 views
3

我想實現在WPF中拖/放技工,但它沒有工作... 使用Windows窗體它的工作,滴在WPF ...C#:拖放(RichTextBox中)

第一我將AllowDrop設置爲True。在Windows窗體中,您可以將項目拖動到richtextbox中並且光標發生更改。

使用WPF ....沒有任何反應。

nexT點:實現DragEnter和DragDrop Methodes。 我做了像在線手冊說的那樣。 (好吧,我不得不嘗試更多的東西,因爲DragDrop不存在於WPF中) 我認爲所有的拖放教程僅適用於Windowsforms,WPF沒有任何內容...

richtextbox ?如果我將其更改爲「allowDrop」 - 沒有任何反應。遊標仍然是一個不允許的符號。

希望有人可以從教程幫助:)

Examplecode我讀:

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

回答

7

我很好奇,爲什麼讓我有一個小遊戲,並最終得到它的工作。實質上,我開始通過綁定到PreviewXXX事件,如下所示:

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

即使如此,他們仍然沒有工作。但是答案是here,以權限提升的形式出現。我通常使用管理員標高運行VS2010。因爲我從資源管理器中刪除了一些文件到我的RichTextBox,它本質上是禁止操作,因爲Explorer運行在非高架用戶模式下。以非提升模式運行VS2010解決了問題。鏈接的文章確實提出了一些解決方法,但我還沒有嘗試過。