从Adorner访问数据

时间:2010-11-16 11:08:56

标签: c# wpf adorner

我正在用C#和WPF编写一个2D图形工具,我在Adorners Shapes上使用Canvas

我希望装饰者在形状被视为“已选中”时突出显示,我目前正在使用MouseDownMouseUp个事件。

但是,用户可以选择多个形状,因此并非所有形状都会同时接收两个鼠标事件。

我有一个管理绘图的类,它包含List个选定的形状。让参与者访问此数据的最佳方式是什么,以便他们可以查看是否已选择其装饰元素?

我考虑过一些事情:

  • 制定List全局 - 糟糕的主意
  • 对每个形状进行子类化以添加“选定”属性 - 需要更改对我类中形状的所有引用

1 个答案:

答案 0 :(得分:1)

您可以在形状上设置附加的依赖项属性 - 然后您可以在选择属性时设置该属性。 装饰者可以在形状上具有与属性绑定的可见性,因此您可以自动设置可见性。

您还可以使用形状上的Tag属性来存储值 - 这是执行此操作的旧方法:)