2011-02-26 30 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