マルチスレッドを使用してitems(UserControl)をItemsControlに設定したい。私のコードはこれが好きです
System.Threading.Thread thread = new System.Threading.Thread(new System.Threading.ThreadStart(SetItemsControl));
thread.Start();
void SetItemsControl()
{
IDictionary<string, object> list = GetUserControlList(); // this function return list of UserControl
this.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Normal,
new Action(delegate()
{
mylistcontrol.ItemsSource = list;
}));
}
そして、それは私のユーザーコントロールの初期化機能で壊れます
多くのUIコンポーネントがこれを必要とするため、呼び出しスレッドはSTAである必要があります。
どうすれば修正できますか?