2010-12-11 15 views
3

私はWPFにドラッグ/ドロップメカニックを実装したいが、それは動作しませんでした...それは働いていたのWindowsフォームと ...のC#:ドラッグとWPFの低下(リッチテキストボックス)

ファーストAllowDropをTrueに設定します。 Windowsフォームでは、既に項目をリッチテキストボックスにドラッグすることができ、カーソルが変化します。

WPFでは....何も起こりません。

nexTポイント:DragEnterおよびDragDropメソッドを実装します。 オンラインマニュアルのように私はそれをしました。 (私はDragDropがWPFに存在しないため、何かを試してみる必要がありました) ドラッグ&ドロップのチュートリアルはすべてWindowsフォームのみで、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に落としていたので、エクスプローラは非昇格ユーザーモードで動作するため、基本的に操作が禁止されていました。非昇降モードでVS2010を動かすことで問題は解決しました。リンクされた記事はいくつかの回避策を提案していますが、まだ試していません。

関連する問題