2011-12-08 15 views
0

C#のwpfでは、キャンバス上にマウスの動きで形(矩形)の端からポリラインを描画します。ドラッグ&ドロップしてポリラインを持つ矩形を結合した形にしたいとします。言い換えれば、ポリラインをシェイプに貼り付けることです。これはどうすればできますか? ポリラインの長さが不明なため(プログラムの実行時に決定されるため)キャンバスを使用するのは効率的ではなく、制限はありません。形状にポリラインをつける

答えて

0

パスオブジェクトを使用する場合、複数のパスフィギュアで1つのジオメトリを作成できます。ドラッグアンドドロップに関しては、ジオメトリクラスのFillContainsWithDetail()メソッドを使用してFigureの交差を計算することができます。図形が交差する場合(または一方が他方を含む場合)、有効なドロップターゲットがあります。ドロップすると、パスに図が追加され、複合図形が作成されます。

+0

ジオメトリはマウスイベントハンドラを受け入れますか?私はマウスでそれらを操作する必要があります。 – arjacsoh

+0

PathクラスはShapeを継承し、マウスイベントを持ちます。 2つのパスインスタンスを使用する必要があります.1つは既存の複合シェイプで、もう1つは追加したい新しいシェイプを表します。ドロップすると、新しいパスからFigureを抽出し、それを既存の合成パスに追加します。 –

関連する問題