Интересует следующий вопрос: на окне присутствует textblock, информация в котором должна обновляться, к примеру, каждую секунду, для обновления я использую OnPropertyChanged. Операция обновления запускается по кнопке, сам метод обновления привязан с помощью интерфейса ICommand. Понятно, что такие операции должны выполняться в фоновом потоке, пытался сделать через BackgroundWorker, но немного не понял как именно нужно работать с ним, если я использую ICommand. Спасибо.
Task.Factory.StartNew(async () =>
{
//background work
await Application.Current.Dispatcher.InvokeAsync(() =>
{
//
yourProperty=newvalue;//То что связано с GUI (OnPropertyChanged)
});
});
Альтернативный вариант:
async Task DoSomething() // или async void, если это обработчик события
{
var newValue = await Task.Run(() =>
{
// этот код выполняется в фоне
return result;
});
TextBox.Text = newValue;
// или лучше
Property = newValue;
}
Я пользуюсь тем, что await
, который происходит в UI-потоке, возвращается назад в UI-поток.
Как меняется крипторынок и к чему готовиться владельцам криптообменников
Добрый день! Есть метод заполняющий treeview дискамиЕсть метод заполняющий listview файлами и папками
Есть шаблоны в xlsx файле, из которых я программно генерирую отчетыЭти отчеты необходимо отправить на печать, но на машине не установлен MS Office
Есть сайт, на нем svg графикНадо сделать скриншот этой страницы