Silverlight:强制画布使自身无效或重绘?

pea*_*ewg 6 silverlight-2.0

我有一个Silverlight应用程序,上面有一个Canvas.在那个Canvas上,我动态地"绘制"了一堆东西,但是在画布上添加了控件.

我在Canvas区域外面有一个按钮可以清除内容.删除对象(成功).但是,Canvas区域不会立即刷新; 它目前需要一个MouseOver或Canvas本身的其他事件.

让外部对象使Canvas无效的最简单方法是什么?我确定我错过了一些简单的东西!

Geo*_*aly 4

这有点肮脏,但您可以尝试将画布的可见性更改为“可见”(即使它已经是),因此:

myCanvas.Visibility = Visibility.Visible;
Run Code Online (Sandbox Code Playgroud)

我们发现,即使 myCanvas.Visible 的实际值没有改变,这也会强制重绘......

试一试,这只是一条可以解决问题的衬垫。尽管我希望画布会在您从中删除内容时重新绘制。