Я читал много о потоковом в C#, WPF и Silverlight, но не могу заставить его работать.Простая Threading в WPF
Основная проблема заключается в том, что у меня есть _load (_Initialized) действие, и у него много создания объекта, и вместе с тем у меня есть таймеры, работающие с разными вещами, это заставляет время запуска программы быть очень медленным и, очевидно, заставляет пользовательский интерфейс зависать, и это не очень удобно для развертывания для многих пользователей.
Мои таймеры изменяют значения меток и текстовых полей, но если они делают это в другом потоке, это очевидно.
Так может ли кто-нибудь дать мне несколько примеров того, как добиться того, что мне нужно делать?
Благодаря
Спасибо за всю информацию, я попробовал, но что входит в loadWorker_DoWork()? что, если у меня есть метка, которая выглядит так: this.label.Content = getCurrentUsage(). ToString(); Как я могу поместить все в то, как это будет в таймере. –
LoadWorker_DoWork точно так же, как и ваше событие таймера, и вам нужно будет использовать Dispatcher.Invoke для обновления пользовательского интерфейса. –
Или вы можете использовать делегат отчета о ходе выполнения BackgroundWorker, который работает в потоке пользовательского интерфейса только для этой цели. –