2011-11-05 3 views
1

TextBlock 요소가 포함 된 간단한 Windows Phone 7 앱 (Silverlight/XAML/C#)을 가지고 있습니다.WP7/XAML로 변환 한 후 공간 축소

그러나 TextBlock 요소 중 하나를 TranslateTransform를 사용하여 TranslateTransform를 사용하여 새 x/y 위치를 지정하면 TextBlock는 여전히 StackPanel의 원래 공간을 유지합니다. 이와 같이, (I 변환이 렌더링되는 방식의 결과 추측)에 TextBlock가 변형되기 전에 있던 레이아웃의 "구멍"이있다. 내 질문

의 의 은 다음과 같습니다 가 요소의 원래 공간이 변형 된 후 '붕괴'될 수 있는가? 좋은 오래된 HTML/CSS에서이 작업을 수행하는 방법을 알고 있지만 Silverlight/XAML에 대해서는 알지 못합니다. 나는 몇 가지 방법을 시도했지만, 지금까지는 아무 것도 작동하지 못했다. (당장은 주위의 TextBlock 요소의 여백을 바꾸는 것으로 보상하고 있지만 이것은 일을하는 추악한 방법으로 보인다).

원래 공간을 '붕괴'할 수 없다면 요소의 상대 x/y 위치를 변경할 수있는 또 다른 방법이 있습니까? (이 상황에서 Canvas를 사용하는 것은 자유롭지 않습니다.)

미리 감사드립니다!

답변

2

변환 된 요소가 StackPanel에서 항상 "누락"되는 경우 TextBlock의 ActualHeight와 같은 음의 아래쪽 여백을 지정하여 해당 항목을 위쪽으로 당길 수 있습니다. 그 실패

또 다른 경로는 내부의 StackPanel에있는 UserControl을 만들 수 있으며, MeasureOverride 및/또는 ArrangeOverride을 구현하는 것입니다.

+0

감사합니다. Matt, 결국 음수 여백을 사용하여 결국 꽤 잘 작동하는 것 같습니다. 당신의 도움을 주셔서 감사합니다! – Superangel

관련 문제