스택 패널에서 요소의 위치를 얻는 방법은 무엇입니까?
-
19-09-2019 - |
문제
카피로 동적으로 채워져있는 스택 패널이 있다고 말하면서 그 안에 요소의 y 위치를 변경합니다. 스택 패널이 모든 어린이들을 재배치 한 후 (스택 패널과 관련하여)의 y 위치를 찾고 싶은 스택 패널 내에 특정 요소가 있습니다.
StackPanel sp = new StackPanel();
sp.Children.Add(someTextBlock);
sp.Children.Add(element1);
sp.Children.Add(element2);
...
someTextBlock.Text = "Lorem ipsum dolor..." // some text that pushes children of > index down
// element1 got pushed down to some unknown position based on text length
// now want to find the Y position of element1
나는 다음과 같은 방법을 알아 차렸다. http://forums.silverlight.net/forums/p/16787/55881.aspx#55881 반환 된 위치는 스택 패널의 위치이며 내가 타겟팅하는 어린이 요소가 아니라 작동하지 않기 때문에 작동하지 마십시오.
해결책
방법의 방법 게시 한 링크 올바르게 전화하면 잘 작동해야합니다.
올바른 uielement와 함께 호출해야합니다.이 경우 ement11을 Rootvisual에 사용하여 전체 위치를 제공합니다. element1
:
var transform = element1.TransformToVisual(Application.Current.RootVisual as FrameworkElement);
Point absolutePosition = transform.Transform(new Point(0, 0));
제휴하지 않습니다 StackOverflow