Есть DataGrid, в него заношу новый объект. Если я в основном потоке получаю ссылку на первый Item у DataGrid, привожу его к типу и изменяю свойства, то и значения в таблице тоже меняются. Но если же я создаю новый поток и в нем проделываю тоже самое, ничего не получается. Даже если я проделываю это через BeginInvoke
RobotsInfo ri = (RobotsInfo)dataGrid.Items[0];
ri.Name = "AAA";
Данный код в основном потоке изменяет значение в таблице на AAA, а если сделать тоже самое в другом потоке, то ничего не получается. Как можно решить это?
Ответ
Попросите Dispatcher выполнить эти действия в "правильном" потоке:
dataGrid.Dispatcher.Invoke(() =>
{
RobotsInfo ri = (RobotsInfo)dataGrid.Items[0];
ri.Name = "AAA";
});
Комментариев нет:
Отправить комментарий