У меня есть программа WPF с двумя списками, которые отображают информацию из двух разных наблюдаемых коллекций.Эти наблюдаемые коллекции обновляются по таймеру, который срабатывает каждую секунду.
По какой-то причине эти списки не обновляются при обновлении сбора данных ... они будут обновляться время от времени, но нет гарантии, что он когда-либо будетбывает.Я могу запустить всю программу за 10 минут и ничего не отображать ... В окне вывода также нет ошибок привязки данных.На самом деле, если я заполняю коллекцию во время запуска, чтобы проверить привязку, все это отображается без проблем.Только когда я динамически добавляю элементы во время выполнения программы, возникает проблема.
При попытке отладки невозможно следить за программой, потому что по какой-то причине у меня есть целый груз работникапотоки, которые я никогда не определял и не просил:
http://i.imgur.com/wq5ND.png
Я думаю, что эти дополнительные потоки могут быть частью проблемы.Есть ли простой способ в C # определить функцию как потокобезопасную, как синхронизированное ключевое слово в Java?
РЕДАКТИРОВАТЬ:
JFifoErrorCollection.Add(errorData);
JFifoList.Items.Refresh();
break;
РЕДАКТИРОВАТЬ # 2: я решил эту проблему .. Я былиспользуя System.Threading.Timer, который не работал в потоке пользовательского интерфейса.Изменено на System.Windows.Forms.Timer и теперь работает отлично.