2010-05-21 5 views
2

간단한 질문은 - 바운드 UI 요소를 원하는대로 새로 고치는 것을 지연시킬 수있는 방법은 무엇입니까?ItemsControl의 WPF 지연 UI 요소 새로 고침

더 긴 설명 : ItemsControl에 많은 항목을 추가 한 다음 백그라운드 스레드를 사용하여 해당 항목에 대해 몇 가지 추가 계산을 수행하는 프로세스가 있습니다. 이 (정확하게) 함께가는대로 항목을 업데이트합니다.

그러나 ItemsControl이 특정 계산 중에 업데이트하지 못하도록하고 싶습니다. ItemsControl은 해당 순서에 따라 추가 계산을 수행하기 전에 항목의 순서를 변경 한 다음 항목을 원래 순서대로 반환하기 때문에 특정 계산 중에 업데이트되지 않도록하고 싶습니다.

ItemsControl이 작동하면서 흐리게 표시되어있는 ItemsControl과 함께 "Please Wait"애니메이션을 표시하지만 사용자에게 진행 상황을 알려주므로 ItemsControl을 완전히 숨기지 않습니다. 만든.

답변

3

계산 된 결과를 저장하는 임시 컬렉션을 만들 수 있습니까? 일단 완료되면 바인딩 할 속성에 할당 할 수 있습니까?

+1

ObservableCollection <>을 사용하는 경우 컬렉션이 변경 될 때마다 업데이트되었음을 ​​UI에 알립니다. List <>를 사용하면 모든 요소가 추가 될 때까지 기다린 다음 INotifyPropertyChanged를 사용하여 UI가 변경되었음을 알릴 수 있습니다. – JSprang

+0

이 경우에는 아마 그렇게 할 수 있습니다. 그러나, 나는 좀 더 일반적인 대답을 기대했다 ... –

관련 문제