2011-02-26 70 views
0

我有一个System.Windows.Controls.Image派生类,需要通知父UIElement的RenderTransform已经改变(比如发生缩放)。我希望能够限制内存中保留的内容,以便在仅显示一小部分内容时不会在内存中保留巨大图像,并且在缩小图像时降低分辨率。有没有办法强制OnRender在我的图像上被调用?我知道AffectsRender可以在父级的RenderTransformProperty上设置,但是这不会影响到我的图像...任何想法?如何在父UIElement的RenderTransform更改时调用OnRender?

回答

0

这对我来说有点破绽,但是你可以在你的图片上引入一个新的依赖属性,它具有AffectsRender = true。 DP应该是类型对象,并且您应该将它绑定到其父级的RenderTransform。因此,当父母的RenderTransform发生变化时,孩子的DP会使孩子重新呈现自己。

+0

UIElement没有用于RenderTransform的DependencyProperty。只需'公开变换RenderTransform {get;组; }'当我按照建议OnRender没有被解雇。其他想法? – tillerstarr 2011-03-01 21:51:34

+0

是的,但转换的属性是DP。不是最干净的解决方案,但它会起作用。 – 2011-03-02 20:50:04

相关问题