<分区>
我需要将一些网格列附加到最初只包含几列的网格。创建列是长时间运行的,我正在尝试使用异步/等待,但我收到“调用线程无法访问此对象,因为另一个线程拥有它”的异常,所以有人可以指导我正确的方法做这个。异常发生在 AddRange 调用上。提前致谢。
private async void MainWindow_Loaded(object sender, RoutedEventArgs e)
{
List<GridViewColumn> cols = await NewGridColsAsync();
viewGridControl.Columns.AddRange(cols);
}
private async Task<List<GridViewColumn>> NewGridColsAsync()
{
List<GridViewColumn> cols = new List<GridViewColumn>();
await Task.Run(() =>
{
for (int i = 0; i < 100; i++)
{
cols.Add(new GridViewColumn());
}
});
return cols;
}