Как получить детей и обновить его из другого потока? - PullRequest
0 голосов
/ 29 октября 2018

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

public void GetData()
{
    while (true)
    {
        // initialisation des donnés 
        if (!Init)
        {
            Initialize();
        }
        else
        {
            IEnumerable<DisplayServeur> ts = null;

            this.Dispatcher.Invoke(new Action(() =>
            {
                ts = FindVisualChildren<DisplayServeur>(this.SitePlantDisplay.Parent);
                    RefreshInfo(ts);
            }));
        }

        Thread.Sleep(new TimeSpan(0, 0, 10));
        Init = true;
    }
}

Для обновления данных мне нужно указать все дочерние элементы, созданные методом Initialize. Когда метод обновления был выполнен, я не могу получить доступ к дочернему элементу, даже если я поместил свой код в this.Dispatcher.Invoke(new Action(() => { }));

Сообщение об ошибке таково: вызывающий поток не может получить доступ к этому объекту, поскольку он принадлежит другому потоку.

Вы можете мне помочь?

Извините за мой английский ..

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