1
我必須呈現大約10'000個wpf控件,並且我不想在此操作期間凍結我的應用程序。是否有可能在另一個線程中執行?在後臺線程中創建wpf控件
我試圖用
myStackPanel.Dispatcher.BeginInvoke(
System.Windows.Threading.DispatcherPriority.SystemIdle,
new NextPrimeDelegate(this.AddButton));
與調度員的另一個變種。但它總是凍結我的應用程序。我想在創建百個控件時顯示動畫等待畫面,但它總是凍結,因爲它是調度程序的線程。
感謝您的幫助 Andrew。
我不認爲你可以在不同的線程上創建控件。所有WPF元素初始化應該位於主STA線程上。但是,你爲什麼要創建這麼多的控件?您應該爲這種情況使用某種UI虛擬化。 – jure 2013-04-28 19:11:01
請詳細說明爲什麼您必須創建10.000控件。認爲應該有一些替代方案。如果它對你有幫助,請查看本文:http://blogs.microsoft.co.il/blogs/tomershamam/archive/2009/09/06/ui-virtualization-vs-data-virtualization.aspx – 2013-04-28 19:12:27
@MareInfinitus ,上面的鏈接已經死了。 – 2014-08-25 08:18:51