Столкнулся с проблемой доступа к ячейкам контейнера Grid, и другим элементам (TextBox например) из дополнительного потока. Только начинаю изучать WPF, поэтому не судите строго :) В конструкторе MainWindow запускаю поток :
Thread hunter = new Thread(Hunt);
hunter.Start();
Сам метод:
private void Hunt()
{
while (true)
{
Grid.SetColumn(Apple, 8);
Grid.SetRow(Apple, 4);
Box.Text = "Привет!";
Thread.Sleep(2000);
}
}
Метод примитивен, нужно что бы дополнительный поток сам писал что - то в текст бокс, и переставлял картинку (Apple) в нужную мне ячейку Grid (логика смены ячеек пока не важна, но это будет скорее всего обычный Random, ну и текст будет меняться)
При попытке запустить такое выдает System.InvalidOperationException" Вызывающий поток не может получить доступ к данному объекту, так как владельцем этого объекта является другой поток.
Как обойти данное ограничение? Главный поток использует эти элементы и никак не хочет ими делиться :) Но очень нужно работать с главным окном из другого потока в режиме "сам делает" Подскажите решение пожалуйста!