1

私は C# と WPF で 2D グラフィックス ツールをAdorners作成ShapesしていCanvasます。

シェイプが「選択された」と見なされたときに、アドナーが強調表示されるようにしたいと思います。これは、現在使用MouseDownしているMouseUpイベントです。

ただし、ユーザーは複数の図形を選択できるため、すべての図形が両方のマウス イベントを受け取るわけではありません。

選択した図形を保持する図面を管理するクラスがありListます。装飾者にこのデータへのアクセスを許可して、装飾された要素が選択されているかどうかを確認できるようにする最善の方法は何ですか?

私が考えたいくつかのこと:

  • グローバルList化 - 悪い考え
  • 「選択された」プロパティを追加するために各形状をサブクラス化する - クラス内の形状へのすべての参照を変更する必要があります
4

1 に答える 1

1

シェイプに設定した添付の依存関係プロパティを作成できます。次に、プロパティを選択するときにそのプロパティを設定できます。装飾者は、シェイプのプロパティに可視性をバインドできるため、可視性が自動的に設定されます。

図形のTagプロパティを使用して、値を格納することもできます。これは、古い方法です:)

于 2010-11-16T11:19:47.127 に答える