2012-04-27 4 views
1

私が見た限り、これまでにここですでに質問されている問題に直面しています。 私はこれらのほとんどを読んでいますが、正しい答えが見つかりませんでした。WPFでカスタムシェイプのパネルを作成するには?

これは私が必要なものである:

  • 複雑な形状のゾーン(すなわち:国、州...)
  • がそれに(特にマウスのを)イベントを取得する可能性がある
  • 一部conrolsを配置する可能性

私は、いくつかはusercontrols、controltemplatesを使用していることがわかりました。しかし、私はそのような形をどうしたらよいでしょうか?ほとんどの質問は、標準的な形のいくつかの基本的な組み合わせのものでした。
(私たちはペンでパスオブジェクトを作ることができるブレンドで見て、ゾーンの形状を定義するためにこれを使用する方法はありますか?)

感謝。

+0

「正しい答えが見つかりませんでした」というのは、重複を作成する言い訳ではありません。 –

+0

@ H.B。実際は、これは違うと思います。私が必要とする形は標準的なポリゴンではありえないので、やり方は違うはずだと思いました。 (これが私がペンツールについて語っている理由です。) – LeLolDuLol

答えて

0

独自のコントロールを作成し、そのメインコンテナをCanvasにします。キャンバスの背景を透明にしておき、必要なコントロールをすべて配置することができます。キャンバス内のメインシェイプとしてポリゴンを使用し、必要なすべてのコントロールをキャンバスに配置することができます(ただし、目的に合っていると思われますが、ポリゴンの外側に配置しないようにしてください)

mousedownイベントが発生した場合は、個々のオブジェクトを個別にドラッグすることができます。マウスのクリックが発生した場合は、クリックしたオブジェクトのCaptureMouse()メソッドを使用して、マウスのイベントでReleaseMouse()を呼び出すことを忘れないでください。

コントロールのインスタンスは、必要なだけ多く作成できます。それぞれ、それぞれに含まれる多角形で定義された異なる図形を使用できます。これらのオブジェクトをすべて1つのグリッドやキャンバスに貼り付けると 行ってもいい。

関連する問題