我有一个WPF DataGrid,必须以编程方式添加行标题和列。我已经成功实现了这个,但性能是不可接受的。每次添加列时,ColumnCollection
都会发出CollectionChangedEvent
。我还没有找到一种方法来禁用此事件,因此我研究了其他改善性能的方法。
我在后台线程上创建了DataGrid并尝试将网格添加到UI,但没有成功,收到以下消息:
"UI Element is owned by a different thread"
我在主UI线程上创建了DataGrid,并尝试在后台线程中添加列。同样的问题。我不能要求UI线程这样做,因为这首先是问题。
还有哪些其他方法可以向DataGrid添加大量列? (在一个案例中为10,000列)
Janene
答案 0 :(得分:0)
我最终使用这行代码在后台创建DataGrid并将其添加到UI。
this.Dispatcher.BeginInvoke(DispatcherPriority.Background, new UpdateNodesDelegate(UpdateNodes));
从C#2008 WPF食谱一书中获得此解决方案。
Janene