2011-02-26 2 views
0

부모 UIElement의 RenderTransform이 변경되었다는 알림이 필요한 System.Windows.Controls.Image 파생 클래스가 있습니다 (예 : 확대/축소가 발생했습니다). 나는 작은 부분 만 보일 때 거대한 이미지를 메모리에 보관하지 않을뿐만 아니라 이미지가 축소 될 때 해상도를 낮추기 위해 메모리에 유지되는 것을 제한 할 수 있기를 원합니다. OnRender를 내 이미지에서 강제로 호출 할 수있는 방법이 있습니까? 나는 AffectsRender가 부모의 RenderTransformProperty에 설정 될 수 있지만, 그것은 내 이미지 ... 어떤 생각으로 떨어지지 않는지 알 수 있습니까?부모 UIElement의 RenderTransform이 변경 될 때 OnRender를 호출하려면 어떻게해야합니까?

답변

0

해킹이 조금 느껴지지만 AffectsRender = true 인 이미지에 새 종속성 속성을 추가 할 수 있습니다. DP는 object 타입이어야하며 부모의 RenderTransform에 바인딩해야합니다. 따라서 부모의 RenderTransform이 변경되면 자식의 DP는 자식을 다시 렌더링하게 만듭니다.

+0

UIElement에는 RenderTransform에 대한 DependencyProperty가 없습니다. 그냥 'public Transform RenderTransform {get; 세트; } 'OnRender가 해고되지 않는다고 제안했을 때. 다른 아이디어? – tillerstarr

+0

네,하지만 변환의 속성은 DP입니다. 솔루션 중 가장 깨끗한 것은 아니지만 작동 할 것입니다. –

관련 문제