2010-06-21 181 views
1

我已经使用DrawingVisuals的VisualCollection成功呈现了我的场景(简单几何形状),并且我可以成功地测试它们以查看用户何时单击它们。我现在需要将该元素显示为选中状态。wpf DrawingVisual - 选择对象

我在网上发现的示例代码将点击后的图形视图的不透明度从1.0改为0.4,但这不是我想要使用的效果 - 我宁愿在它周围绘制更浓的黄色轮廓,但它看起来像我会必须从头开始重新创建VisualCollection(或添加和移除选定的项目)以更改边框笔。

有没有比较接受的方法?装饰者,也许?或者可能不使用DrawingVisuals,而是使用OnRender,然后在选择对象后重新渲染?代码示例会很棒。

thx。

回答

2

我想出了如何做到这一点,谢谢。关键是将DrawingVisual渲染到其自己的子例程中,并在每次项目更改状态(从选定状态变为未选定状态)时调用渲染过程。