대답하기 전에 제목을 읽을 때 생각했던 것처럼 쉬운 질문은 아닙니다.WPF : 요소 위치 찾기
T의 ObservableCollection에 바인드 된 ItemsControl과 DataTemplate으로 설명되는 데이터가 있습니다. 지금까지는 고전적인 사례입니다.
새 요소를 추가 할 때 렌더링되는 요소의 창 내부에서 정확한 좌표와 위치를 알아야합니다.
이벤트를 발생시키기 위해 컬렉션에 필요한 시간이 걸리고 WPF는 요소 배치를 위해 모든 레이아웃 메커니즘을 사용한다는 것을 알고 있습니다.
완료되면 알림을 받고 해당 위치를 찾고 싶습니다. 나는 문제는 지금 내가 그 라인을 쳤을 때 나는 WPF 마무리 초 동안 "대기"를 할 경우는, 항상 시기상조 코드
UIElement item = list.ItemContainerGenerator.ContainerFromItem(foo) as UIElement;
Point point = TranslatePoint(new Point(0.0, 0.0), Window.GetWindow(item));
의 그 선을 사용하고, 나는 올바른 위치를 얻을 수 없습니다.
UI 스레드에 대해 "대기 중"보다 나은 솔루션을 찾으려고합니다. 어쩌면 도움을 줄 수 있습니다.
고마워요! Ariel
ChrisF, 편집 해 주셔서 감사합니다. 코드 섹션에서 스크롤을 어떻게 제거 했습니까? – ArielBH