1

PreviewMouseDown、PreviewMouseMove、PreviewMouseUpを使用してTreeViewでドラッグアンドドロップイベントを処理していますが、問題があります。

PreviewMouseDownハンドラーでは、ドラッグが開始された場合に備えてすべてを準備しました(Moveイベントで検出されました)が、e.Handled=trueを設定しました。これは、標準の選択イベントが私のツリーで生成されないことを意味します!

Upイベントで実行できるようにしたいのは、標準のツリービュー選択変更イベントを呼び出すことです。ただし、ツリーの外部でイベントを呼び出すことはできません。では、これを行う正しい方法は何ですか?

標準のMouseDown、MouseMove、MouseUpイベントを使用してみましたが、複数選択機能を台無しにする問題があり、これらのイベントのプレビューバージョンを使用する必要があります。

4

1 に答える 1

1

これに対する私の解決策は、プレビューハンドラーを使用せず、代わりにMouseDown、MouseMove、およびMouseUpを使用することです。

イベントのシーケンスは次のとおりです。

* MouseDown (set up for possible drag)
* SelectionChanged (remember any selection change)
* MouseMove (here we might go into a drag operation)
* MouseUp (if we went into a drag operation, all done, otherwise process the multiple selection stuff)
于 2010-06-07T09:19:49.143 に答える