문제

카피로 동적으로 채워져있는 스택 패널이 있다고 말하면서 그 안에 요소의 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));
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top