任意のGrid
数(場合によっては数千)の状態(マウスのホバー、選択、ドラッグなど)で塗りつぶされた図形があります。複数のオブジェクトが重なっている場合は、それらをホバー/クリックすると、中心点がマウスの位置に最も近いオブジェクトが選択されます。
パフォーマンスとコード設計の両方を考慮すると、これを解決するための最良の方法は何ですか?
いくつかの質問
- コードビハインドでシェイプを作成してグリッドの子に追加する必要がありますか、それともいくつかのオブジェクトのリストに巧妙なXAMLバインディングを設定する必要がありますか(チュートリアルがいいでしょう)?
- マウスイベントを処理したい。各シェイプに独自のマウスハンドラーを設定する必要がありますか、それとも最も近いシェイプを探す親グリッド用に1つのマウスハンドラーを設定する必要がありますか?
- 図形のスタイルは、ユーザーが編集できる必要があります。それらをコードビハインドのリソースまたはプロパティとして定義する必要がありますか?