ユーザーがポリゴンの頂点にアドナーをドラッグしてシェイプを伸ばしたりサイズを変更したりできる WPF プログラムを作成しようとしています。頂点をマウスでつかんでドラッグすると、頂点がその位置にあるポリゴンが再描画されます。全体的な形状をリサイズするために変更できる幅/高さフィールドは知っていますが、やりたいことは、頂点位置のみを変更し、ポリゴン ラインを新しい頂点位置で本質的に新しいポリゴンを再描画することです。
これまでのところ、静的なサイズのポリゴン (長方形) を描画し、角に装飾を配置する機能がありますが、問題は、装飾をドラッグすると、装飾ボックスが多角形の頂点に留まらないことです。これは、装飾が描かれているキャンバス全体ではなく、多角形の位置 (装飾された要素) に対して相対的に描画されるためだと思います。
形状に関連するのではなく、単に装飾を画面座標に配置する方法があるかどうか疑問に思っています。私の論理はonRender()
、ポリゴンの頂点を位置として使用してアドナーボックスを描画し、マウスドラッグ機能でマウスの位置を取得してポリゴンの頂点を直接変更し、それによってアドナーが描画される座標も変更できるということです。これまでのところ、これを行う方法を見つけることができませんでした。これは可能ですか?図形のサイズが変更されたときに頂点にスナップするように、常に頂点に装飾を描画できますか? そうでない場合、誰かがこれを行う別の方法を知っていますか?