Как заставить OnRender вызываться при изменении RenderTransform родительского UIElement? - PullRequest
0 голосов
/ 26 февраля 2011

У меня есть производный класс System.Windows.Controls.Image, который нуждается в уведомлении об изменении RenderTransform родительского UIElement (скажем, произошло увеличение). Я хочу иметь возможность ограничить то, что хранится в памяти, чтобы я не сохранял в памяти огромное изображение, когда видна только небольшая часть, а также уменьшал разрешение при уменьшении изображения. Есть ли способ заставить OnRender вызываться на моем изображении? Я знаю, что AffectsRender можно установить для родительского объекта RenderTransformProperty, но это не сказывается на моем изображении ... есть идеи?

1 Ответ

0 голосов
/ 26 февраля 2011

Для меня это немного хакер, но вы можете ввести новое свойство зависимости в вашем изображении с AffectsRender = true. DP должен иметь тип объекта, и вы должны связать его с RenderTransform его родителя. Таким образом, когда RenderTransform родительского элемента изменяется, дочерний элемент DP заставит дочерний элемент повторно выполнить рендеринг.

...