2つのテキストボックスの間でテキストスワップを実装しようとしています。アイデアは、あなたがそれらのいくつかを持っていて、それらの1つを右クリックすると、別のものにドラッグアンドドロップし、第1のテキストは第2のものになり、第2のテキストは第1のものになります。だから、基本的にテキストのスワップ(実際には後で私はフォント名、サイズなどを交換したい...しかし、その時には一歩)。TextBox - 右マウスでドラッグアンドドロップ
RightClickハンドラに関する問題は... ContextMenuを右クリックしてデフォルトで表示されていたため、無効にしました(ContextMenu="{x:Null}"
)。 私はすでにそれがそのように見えるために私はPreviewMouseRightButtonDown
とC#のコードにそれを追加しているMouseRightButtonDown
つもりはない仕事にハンドラを追加することを知っている:私は私のテキストボックスの上にマウスの右ボタンを押したときに
private void PreviewMouseRightButtonDownHandler(object sender, MouseButtonEventArgs e)
{
DragDrop.DoDragDrop(e.Source as DependencyObject,
(sender as Textbox).Text,
DragDropEffects.Move);
}
は今、この関数が実行されます。マウスを少し動かすと不幸にもTextが同じTextBoxにペーストされています:/そしてなぜか分かりません... PreviewMouseLeftButtonDownを使用すると、同じように動作せず、マウスカーソルをドラッグできますTextBoxから外します。
私は=>WPF DragDrop.DoDragDrop (for a RIGHT-Click?) ここで同様の問題を発見し、自分のコードでDragDrop.AddQueryContinueDragHandler(this, QueryContinueDragHandler);
ビットを追加しようとしていたが、それが動作していないよう:/ また、それはので、多分何かが持って以来5年ようにされていますその後変更されました。
誰でも?
ねえ、私は 'QueryContinueDragHandler'をコードで追加していました。だから明らかに私は何とかしてしまった。私はあなたのやり方を試しました(XAMLで追加されました)、それは魅力的なように働いています。助けてくれてありがとう:) – 3vilguy
実際には、ボーナスの質問:V 'QueryContinueDragHandler'で' destination'にアクセスするにはどうすればいいですか?なぜなら、私はある分野から別の分野へテキストを移動させるので、私はそれを交換することはできません。私は完璧なフィットは 'textBox.Text = String.Empty;の直前だと思うけど、落としたオブジェクトをどうやって取得するのか分からない。ドロップハンドラを追加しようとしましたが、TextBoxが空でない場合は実行されません... – 3vilguy
XAMLに 'PreviewDragOver'ハンドラをデスティネーションコントロールに追加しようとしましたか? 'PreviewDragOver =" PreviewDragOver "' –