Hallo,
so fügst du in die ListBox nur genau einen Wert hinzu (nämlich die Liste 'liDatenfeld' selbst).
Laß einfach das
new object[] { } weg und verwende stattdessen die
ToArray()-Methode, also
C#-Quelltext
1:
| lbDatenfeld.Items.AddRange(liDatenfeld.ToArray()); |
Edit: da dies nur für Referenztypen funktioniert (also nicht für Wertetypen wie
int mußt du in deinem Fall noch
Cast<object>() zusätzlich verwenden:
C#-Quelltext
1:
| bDatenfeld.Items.AddRange(liDatenfeld.Cast<object>().ToArray()); |
(Stichwort: Boxing/Unboxing)
Weitere Möglichkeiten sind auch unter
Convert List<T> to object[] zu finden.
Alternativ kannst du die manuelle Schleife auch mittels
ListBox.BeginUpdate() und
ListBox.EndUpdate() umrahmen (damit nicht jede Änderung zu einer Aktualisierung führt).
P.S. Verwendest du wirklich Silverlight (denn dort scheint es kein AddRange zu geben:
ItemCollection)?