2011-06-22 10 views
3

私はWPFの新機能です。私はTreeViewにドラッグ&ドロップを実装していて、DragOverイベントハンドラは機能しません。WPF設定でDragOverのe.Effectsが機能しません - なぜですか?

void item_DragOver(object sender, DragEventArgs e) 
{ 
    if (!e.Data.GetDataPresent("someFormat") || e.Source == sender) 
     e.Effects = DragDropEffects.None;     
    else if (e.KeyStates == DragDropKeyStates.ControlKey) 
     e.Effects = DragDropEffects.Copy; 
    else 
     e.Effects = DragDropEffects.Move; 

    e.Handled = true; 
} 

私はCtrlキーを押しても、それは常に「移動」、ドラッグアイコンを示し、いくつかのツリー項目の上にドラッグしたときにプログラムが実行さ

<Style TargetType="TreeViewItem"> 
    <!-- ... --> 
    <EventSetter Event="DragOver" Handler="item_DragOver" /> 
</Style> 
。私はいくつかのデフォルトのイベントハンドラが私のe.Effectsをオーバーライドすると思いますが、私はどこでそれを検索できるのか分かりません。

答えて

1

私はCtrlキーが正しい方法がある押されたかどうかを確認するために、それを見つけた:

if ((e.KeyStates & DragDropKeyStates.ControlKey) == DragDropKeyStates.ControlKey) 
関連する問題