문제

Silverlight 2 프로젝트에서 우리는 다양한 사용자 컨트롤의 텍스트 속성으로 비행 비행을 수행하기 위해 첨부 된 속성을 만들었습니다. 이를 달성하기 위해, 우리는로드 된 이벤트를 연결합니다. FrameworkElement 속성이 설정된 경우. 이벤트가 시작되면 기존 텍스트 속성 값을 취하고 속성 값을 번역 된 텍스트로 바꾸기 전에 간단한 문자열 대체를 수행합니다. 그러나 이로 인해 컨트롤이 번역되지 않은 텍스트로 렌더링되면 텍스트가 번역 된 버전으로 빠르게 대체됩니다.

제어가 렌더링되기 전에 발사 할 대체 이벤트가 있습니까?

도움이 되었습니까?

해결책

첨부 된 속성의 세터가 호출되는 즉시 번역을 수행하도록 코드를 변경했습니다. 기다릴 필요가 없습니다 FrameworkElement 로드를 완료하려면 요소가 렌더링되기 훨씬 전에 텍스트 속성을 변경할 수 있으므로.

로드 된 이벤트 사용에 대한 초기 생각은 화면에서 볼 수있는 컨트롤 만 번역하여 응용 프로그램의 시작 시간을 줄이는 것이 었습니다. 결과적으로, 런타임은 어쨌든 필요할 때까지 속성 세터를 호출하지 않기 때문에 런타임에 의해 수행되는 일부 작업을 복제하고 있습니다.

다른 팁

나는 이것에 대해 완전히 확실하지 않지만 당신은 LayoutUpdated 이벤트. 컨트롤이 크기가 커지면 해고됩니다 (코드가 한 번만 실행되도록 조치를 취할 수 있습니다.)

나는 그것이 이것에 대한 "올바른"이벤트처럼 보이지 않는다는 것을 알고 있지만 불행히도 Silverlight는 이벤트와 관련하여 그것을 붙잡고 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top