Hallo.
Und ich steh schon wieder vor einem problem, das ich mir nicht wirklich erkären kann.
Ich habe eine Wpf form mit einem stackpanel drin.
Zu laufzeit füge ich in dieses stackpanel custom controls ein.
Funktioniert wunderbar, aber es dauer ein paar sekundchen.
Jetzt hab ich diese Arbeit bereits in einen thread ausgelagert, damit die Applikation nicht einfriert.
aber es verhält sich gleich. Ich kann während das stackpanel befüllt wird keine anderen controls verwenden. Aber wie kann das sein?
n bisschen code:
|
C#-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
Thread addgrpbx = new Thread(this.AddGroupBoxToStackPanel);
addgrpbx.Start();
//die funktion
public void AddGroupBoxToStackPanel()
{
if (!stackPanel1.Dispatcher.CheckAccess())
{
stackPanel1.Dispatcher.Invoke(DispatcherPriority.Background, new Action(
delegate()
{
foreach (GroupBox grp in groupBoxes_)
{
stackPanel1.Children.Add(grp);
}
}));
}
else
foreach (GroupBox gb in groupBoxes_)
{
stackPanel1.Children.Add(gb);
}
}
|
in groupBoxes_ sind 168 elemente drin. Diese bestehen aus eben einer groupbox die 2 checkboxen, 8 9buttons und 10 labels enthält.
hat jemand eine erklärung für dieses verhalten?
lg Aly