은 내가 이렇게 보이는 실버 코드 숨김 코드의 조각을 가지고 :Dispatcher.beginInvoke는 루프를 통해 마지막 시간 만 실행합니까?
foreach (MapLocation loc in e.Result)
{
testDict[loc.ElemId] = loc.ToString();
this.Dispatcher.BeginInvoke(delegate()
{
Image icon = new Image();
icon.SetValue(Image.SourceProperty, nurseIconSource);
Canvas.SetLeft(icon, (double)loc.X * MAP_SCALE);
Canvas.SetTop(icon, MAP_HEIGHT - (double)loc.Y * MAP_SCALE);
icons[loc.ElemId] = icon;
MainCanvas.Children.Add(icon);
});
}
}
이 루프는 UI 스레드에서 별도의 스레드에서 25 번 실행됩니다. testDict 객체는 메소드 실행 후 25 개의 모든 항목으로 끝나고 아이콘 사전은 25 번째 항목에 대한 항목 만 저장합니다.
Dispatcher를 처음 사용했습니다. 이런 급한 불이라고 부를만한 것이 아닌가? 내가 생각할 수있는 것은 위임자가 처음으로 호출 된 것은 루프를 마지막으로 지나친 것이므로 loc 객체는 항상 동일한 항목이라는 것입니다. 정확합니까?
감사합니다. 좋은 기사 너무. – Erix