2010-01-06 3 views
2

(ScrollToHorizontalOffset 메서드를 사용하여) HorizontalOffset 속성 설정에 관한 질문이 있습니다.Silverlight ScrollViewer 초기 가로 오프셋

내 애플리케이션을 시작할 때 스크롤 뷰어의 콘텐츠가 동적으로 생성됩니다 (예 : 디자인 타임 중에 해당 범위를 알 수 없음). 그런 다음 scrollviewer 컨트롤의 수평 오프셋을 설정하려고합니다. 그러나 스크롤 할 수있는 너비는 0으로 반환됩니다. scrollviewer에서 UpdateLayout을 호출해도 도움이되지 않습니다.

나는 현재 렌더링 이벤트에에서 ScrollViewer 컨트롤의 ScrollableWidth 속성을 확인하여이 문제를 해결 작업 및 즉시 ScrollToHorizontalOffset로 전화를 걸하고 같은 ScrollableWidth> 0

이 잘 작동하지만, 짧은 디스플레이로 연결 잘못된 인탈 위치의 "렌더링"전에 위치가 조정됩니다.

이 번거 로움없이 수평 오프셋을 설정할 수 있도록 scrollviewer를 강제 업데이트 할 수있는 방법이 있습니까?

미리 감사드립니다.

답변

3

스크롤 뷰어에서 콘텐츠 컨트롤의 불투명도를 0으로 설정합니다. ScrollToHorizontalOffset을 호출 한 후 콘텐츠 컨트롤의 불투명도를 1로 설정합니다. 그러면 콘텐츠가 올바르게 배치 될 때까지 내용이 실제로 표시되지 않습니다.

+0

물론 이것은 작동하지만 원래의 문제를 "해결하는"유일한 방법일까요? – Grimtron

+0

@Grimtron : 없음 간단합니다. – AnthonyWJones

+0

Loaded 이벤트에서 ScrollViewer와 상호 작용 해보십시오. –

2

스크롤 할 수있는 높이/너비는 하위 내용이로드 될 때까지 0입니다. 그때까지 얼마나 커야 할 지 알지 못합니다. 따라서 0의 가치입니다.

관련 문제