문제

사용자 컨트롤을 표시하는 단일 템플릿 열이 포함 된 Silverlight Datagrid가 있습니다. 사용자 컨트롤에는 처리를 나타내는 진행률 표시 줄이 있으며 처리가 완료되면 애니메이션이 진행되면 진행률 표시 줄을 숨기고 완성 된 레이블이 표시됩니다.

DataGrid가 스스로를 다시 그리지 않는 것처럼 보이는 두 가지 인스턴스가 있습니다.

첫 번째, 사용자가 많은 스크롤을 수행하면 Datagrid는 USERCONTROL이 보면 애니메이션을 다시 그리기로 시작하여 마침내 아무것도 다시 그리지 않는 지점에 도달합니다.

, USERCONTROL에는 팝업을 표시하는 클릭 이벤트가 있습니다. 팝업이 닫히면 다시 USERCONTROL이 제대로 다시 그리지 못합니다.

왜이 행동이 일어나고 그 주위의 방법에 대한 아이디어가 있습니까?

도움이 되었습니까?

해결책

이전 답변이 정확합니다. 컨트롤이 제대로 작동하기를 원한다면로드 _row 및 unloading_row 이벤트를 올바르게 처리해야한다는 것을 알았습니다. 제 경우에는 제어 속성이 실제로 가장 잘 작동하기 위해 객체에 묶여 있습니다. 애니메이션과 가시성 등에 의존하려고 시도하면 이상한 동작이 보일 것이지만 진행바를 무대 뒤에서 각 항목에 대한 진행 상황을 유지하는 객체에 바인딩하면 행이 표시 될 때마다 다시 바뀌고 다시 그리됩니다.

다른 팁

Datagrid에 그리드의 모든 행에 대한 컨트롤 인스턴스가 없다는 것을 이해해야합니다. 데이터 소스는 수백만 행을 가질 수 있지만 그리드는 화면에 맞는 것보다 더 많은 제어 인스턴스가 필요하지 않습니다. 이것은 예를 들어 스크롤 할 때 이전에 보이지 않는 제어 인스턴스를 나타내지 않음을 의미합니다. 현재 가시 가능한 컨트롤을 할당하여 현재 스크롤 위치에 올바른 디스플레이를 작성하는 데 필요한 값이 무엇이든 할당합니다.

해결 방법이 있는지 모르겠습니다.

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