[WPF]実施するためのドラッグアンドドロップ方法のいくつかを要約する(ウィンドウ、ユーザーコントロール)

オリジナル: ドラッグの概要は、[WPF]いくつかの実装(ウィンドウ、ユーザーコントロール)

オリジナル住所https://www.cnblogs.com/younShieh/p/10811456.html

前文

  • 著者は唯一なドラッグなどのウィンドウ、コントロールの内容を含むドラッグと議論の種の一般的な質問を習得することを学ぶこの記事に従ってください。
  • 私は、これは何人かの人々といくつかの助けがまだ始まったばかりの人々のいくつかのために、この問題に対する解決策を見つけることを願って、あなたは批判は非常に光栄で取得することができます。より良い方法は感謝する、私と一緒に共有する手間がかかり、あります。
  • このブログの様々な他の実装も関与している、有益な多くの記事は、コードの写真がありますが、私はホイールが作ら繰り返すことはしません。それを自分の理解の一部を書き込みます。

キーワード

ウィンドウ、ユーザーコントロール、ドラッグ


参考資料

http://www.cnblogs.com/DebugLZQ/archive/2013/05/07/3062733.html

はじめにこの記事では、すべてのドラッグ方法をカバーし、非常に包括的です。価値の学習参考。


テキスト

1.ウィンドウをドラッグします

私たちは、ウィンドウのタイトルバー上でマウスを使用して、フォームのボタンを押してドラッグすることができることを知っています。私たちは、マウスの左ボタンを押すことによって達成し、すべてのウィンドウ内の特定の場所や場所を達成するためにドラッグします。

[推奨]使用DragMove()メソッドを、完全に修飾することができます。

  参考:http://www.cnblogs.com/DebugLZQ/archive/2013/05/07/3062733.html

    --- ---分割ライン

  その他:

  1.タイトルバーをカスタマイズし、使用WindowChromeを

  ボーダレスカスタムフォームに適した状況のタイトルバーのダブルクリック、右クリックメニュー、フルスクリーンを実現するために行きたくありません。わざわざ言及する状況を比較してください。(気持ちを使用するために個人的な感情は非常に良好な制御ではありません、またはその快適な再設計。ヽ(ー_持ち)テクノ

  2.使用してのSendMessageを達成するためにウィンドウをドラッグ

  適用します。私は非常に明確ではなかった、あなたがたは( `・ω・「)は使用されませんでした。原則的には、ウィンドウ内に含まれる移動コマンドのAPIがUser32を送信することにより、モバイルを達成することです。彼から学びます。

  参考:https://www.cnblogs.com/zhouyinhui/archive/2009/08/28/1555870.html

  共有する方法の相互運用性のwikiには、すべてのチェックは非常に便利であるときに使用される、WindowsのAPIを使用しています。Baiduのブラインドギルは間違った答えがあるかもしれないと述べました。


2.ドラッグコントロール

[推奨]ドラッグを達成するために行動してブレンドを使用

  ブレンドは、(行動)の強力なドラッグ動作の実現を提供VS、それは怠け者の私の種類に非常に適している「今年プレイしタップし、」本当に、非常に使いやすい、計算と実現を完了させるために行く必要はありません。

  参考:https://www.cnblogs.com/YGYH/archive/2010/09/10/1822724.html

  問題:このドラッグは使いやすい一方で、働きますが、親コンテナに子コントロールをドラッグするだけで適用されます。

    --- ---分割ライン

  その他:

  1. RenderTransform、TranslateTransformのは、プロパティを実装しました

平行移動(移動)は、2次元座標系XY内のオブジェクト。

  RenderTransformプロパティは、インタフェース変換、回転、スケーリング、スキュー、フリップ、及び他の機能を達成することができます。だから我々は単にドラッグするとき、あなたは様々な変換の位置を制御することができる値の変更を取得する必要があります。

  参考:https://blog.csdn.net/qq_18995513/article/details/72765269#

  2. 【推荐】Thumb控件

表示可由用户拖动的控件。

  依赖于父容器进行使用,可以通过控件拖动时的属性值就能获取控件的垂直变化量和水平变化量。拖动DeltaEventArgs类在使用时,可以将按钮、图片等需要实现拖拽的内容放到Thumb下,通过拖拽Thumb来实现内容物的拖拽。参考学习这篇博文的2.1项

  3. Canvas容器中的子控件,通过点击下时记录的点,然后计算移动时的点的变化量,来重新计算子控件与父容器的相对位置。
参考学习这篇博文的2.3项

  4. Grid容器中的子控件拖拽的实现方法与Canvas大同小异,参考学习这篇博文的2.4项


后文

  以上应该就是在WPF中的各种拖拽的实现方法了,有简单的,也有复杂的。具体使用哪个,应该还是要根据使用需求来用。不过常用的就那几个(逃~

おすすめ

転載: www.cnblogs.com/lonelyxmas/p/11300686.html