Не работает цикл в отдельном потоке WPF

168
26 марта 2018, 22:13

Программа запускается, но не выводит интерфейс

public MainWindow()
{
    Browser.Manage().Window.Maximize();
    InitializeComponent();
    Main.Content = new Pages.MainPage();
    this.Dispatcher.BeginInvoke(new Action(() =>
    {
        while (true)
        {
            RuCaptchaBalance.Text = Rucaptcha.GetBalance();
        }
    }));
}
Answer 1

Думаю, вы хотите вот что:

public MainWindow()
{
    Browser.Manage().Window.Maximize();
    InitializeComponent();
    Main.Content = new Pages.MainPage();
    RunMainLoop();
}
async void RunMainLoop()
{
    while (true)
    {
        RuCaptchaBalance.Text = await Task.Run(() => Rucaptcha.GetBalance());
        await Task.Delay(1000); // делаем вычисления не подряд, а через разумную паузу
    }
}

По поводу теории, почему так, почитайте этот вопрос.

READ ALSO
“Дыра” в окне без границы

“Дыра” в окне без границы

Пытаюсь создать метод, который будет рисовать окно с неким уведомлениемУведомление представляет собой форму без границы, на которой размещается...

215
WPF. Отсчитать время в Async методе

WPF. Отсчитать время в Async методе

Есть WPF приложение, в котором запускается async методВ методе есть бесконечный цикл, который что-то делает

182
Отображение данных с помощью Partial View

Отображение данных с помощью Partial View

Есть 2 модели, пользователи и программы (в этом вопросе есть описание моделей)Я хочу отобразить в таблицах все программы из бд, и следом всех...

177
Поиск по году в БД

Поиск по году в БД

Есть таблица со столбцом "Дата" формата 2018-03 в sql serverВвел в textBox год 2018 Как вывести в DataGridView все записи c таким годом?

187