너비와 높이를 갖는 방법은 ScaleTransform과 높이와 너비를 설정하여 ScaleTransform을 반영하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/1404217

문제

실버 라이트의 캔버스에서 ScaleTransform을 사용하는 것과 관련하여 문제가 있습니다. 캔버스는 올바르게 비늘 지지만 높이와 너비 값은 항상 동일하게 유지됩니다.
예를 들어, 100x100 캔버스는 스케일링되어 높이와 너비 값과 관련하여 200x200이 여전히 100x100 인 것으로 보이므로 새로운 크기를 반영하도록 어떻게 업데이트 될 수 있는지.

또 다른 관련 문제는 요소의 높이와 너비를 변경 하고이 스케일을 캔버스 또는 XAML 요소를 적절하게 수행하는 방법입니다. 100x100 요소를 200x200으로 설정하면 모든 것이 두 배나 커집니다. 요소의 높이와 너비 만 스케일을 변경하도록 설정된 솔루션이어야합니다.

이러한 질문은 동일한 문제와 관련이 있습니다. Silverlight 3.0에서 작동하는 해결책이 있기를 바랍니다.


이 캔버스가 스크롤 비어에있을 때 스크롤 바가 새 크기에 대해 올바르게 업데이트되도록 높이와 너비를 업데이트해야합니다. 이는 높이와 너비가 새 스케일 크기에 수동으로 할당되지만 모든 크기에 대해 작동해야합니다.
반대로 높이와 너비가 변경되면 내부의 요소가 적절하게 조정되므로 동일하거나 다른 캔버스에서 사용할 수있는 방지 아이콘이 될 것이라는 또 다른 캔버스가 필요합니다.


Silverlight에서 직접 불가능한 경우 XAML에서는이 효과를 달성 할 수있는 경우, XAML에서는이 효과를 달성 할 수 있습니다. 이미지 브러시가 사용되는 경우 WPF에서 가능하지만 Silverlight는이를 지원하지 않고 확장 가능한 캔버스가 필요하며 캔버스가 필요합니다. 스케일이 업데이트 될 때 자체 높이와 너비입니다.

도움이 되었습니까?

해결책

Uielement는 그것에 적용되는 변환을 알지 못합니다. 따라서 너비와 높이 특성이 변환을 반영하는 것은 불가능합니다.


한 가지 옵션은 변환을 전혀 사용하지 않고 사용하는 것입니다. 뷰 박스 (실버 라이트 툴킷에서)

ViewBox는 항상 뷰 박스를 채우도록 컨텐츠를 조정합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top