我正在用 C# 和 WPF 编写一个 2D 图形工具,我Adorners
在Shapes
绘制到Canvas
.
我希望装饰者在一个形状被认为是“选定的”时突出显示,我目前正在使用MouseDown
和MouseUp
事件。
但是,用户可以选择多个形状,因此并非所有形状都会同时接收鼠标事件。
我有一个管理绘图的类,它包含一个List
选定的形状。让装饰者访问这些数据的最佳方法是什么,以便他们可以查看是否选择了他们的装饰元素?
我考虑过一些事情:
- 制造
List
全球 - 坏主意 - 对每个形状进行子类化以添加“选定”属性 - 需要更改对我类中形状的所有引用