У меня есть приложение Silverlight 3, которое вызывает традиционную веб-службу .NET (asmx), чтобы получить список записей, а затем отобразить его в элементе управления ListBox (lstRecords.ItemsSource = myRecords). Любые записи могут быть добавлены, обновлены или удалены в любое время, и я хотел бы, чтобы мой пользовательский интерфейс (записи, отображаемые в элементе управления ListBox) отражал последнее изменение.
Прямо сейчас у меня есть System.Threading.Timer, который каждые 5 секунд вызывает WebService и обновляет lstRecords.ItemsSource. Это вроде работает, но не совсем то, что мне нужно. Например, если выбрана строка и обновлен ItemsSource, я теряю выбор.
Мне было интересно, есть ли в Silverlight 3 механизм для обработки таких вещей. Есть ли у вас лучшее предложение, как мне это сделать?
Спасибо!