установить условие в асинхронной форме в C # - PullRequest
0 голосов
/ 28 октября 2018

У меня проблема в том, что когда я вызываю асинхронный метод, он входит и сталкивается с заданным мною условием, когда отправляет мне исключение, которое говорит:

"Подпроцесс, выполняющий вызов, не может получить доступ к этому объекту, потому что владелец - другая тема. ",

Я просто хочу, чтобы процесс условия выполнялся в фоновом режиме с помощью асинхронного метода

    private Task ObtenerDatosd()
    {
        return Task.Run(() =>
        {
            for (int i = draw2.Count - 1; i >= 0; i--)
            {
                if (draw2[i].ToString().ToLower().Contains(SearcInterno.Text.ToLower()))
                {
                    //action
                    System.Windows.MessageBox.Show("Code action");
                }

            }

        });
    }

1 Ответ

0 голосов
/ 28 октября 2018

Вы не можете получить доступ к объектам WPF из другого потока без диспетчера. Но вам это не нужно в этом случае, если вы просто используете:

private Task ObtenerDatosd()
{
    string text = SearcInterno.Text.ToLower();

    return Task.Run(() =>
    {
        for (int i = draw2.Count - 1; i >= 0; i--)
        {
            if(draw2[i].ToString().ToLower().Contains(text))
            {
                //action
                System.Windows.MessageBox.Show("Code action");
            }

        }

    });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...