2010-07-25 3 views
1

Windows Phone에서 목록 상자 작업 7 비동기 웹 서비스 호출을 만들고 성공시 목록 상자를 업데이트하려고합니다.Silverlight 목록 상자 itemsource 변경 목록 업데이트 중

웹 서비스를 호출하는 방법은 다음과 같습니다 : I 클릭하거나에서 스크롤 할 때까지

 api.GetReadingList(
      (items) => Dispatcher.BeginInvoke(() => 
      { 
       lsbNewest.ItemsSource = items; 
      }), 
      (error) => 
      { 
       MessageBox.Show(error); 
      }); 

것도 현명한 UI를 발생하지 않습니다이 코드를 사용 :이 코드를 사용하여 메소드를 호출하고

public void GetReadingList(Action<ObservableCollection<MiniStoryViewModel>> success, Action<string> failure) 

을 목록 상자 - 내용이 올바르게 업데이트됩니다. 코드가 올바른 스레드에서 실행되지 않는다고 가정합니다. 어떻게 해결할 수 있습니까? 코드에서

+0

정확히 같은 문제가 있습니다. 매우 실망합니다. 또한, 스레딩과 관련이 없다고 생각합니다. 적어도 제 경우에는 아닙니다. – jspru

+0

....... 그리고 문제는 그냥 무작위로 사라졌습니다. 또한 실망 스럽다. – jspru

답변

0

나는 내보기 모델에서 INotifyPropertyChanged 구현하고 올려서 가지고 있던 문제를 해결) =;

하지 않으면 Windows에 기본 실버 라이트 응용 프로그램을 작성하고, 두 행동 ... 어쩌면 버그를 비교 속성이 UI 스레드의 이벤트를 변경했습니다.

1

오류, 당신은 사양에 관한 권리 없다 ...

시도해보십시오 ItemsSource를 세척 한 후 addRange, 또는 다른 어떤을 가진 항목을 입력합니다. UI가 자동으로 업데이트되는지 확인하십시오.

관련 문제