Fontsize erstellter Listboxitems Fontsize erstellter Listboxitems
Danke Danke:  0
Ergebnis 1 bis 6 von 6
  1. 19.01.2012, 08:57
    #1
    He Leute,
    ich füge einer Listbox per Items.Add() Listboxitems dynamisch hinzu.
    Danach möchte ich die Fontsize der Items ändern. Leider funktioniert mein Code nicht richtig:

    Code:
                    
    foreach (string element in li_Bezeichner)
       lb_bezeichener.Items.Add(element);
    
    foreach (ListBoxItem li in lb_bezeichener.Items)
       li.FontSize = 30;
    Das compilieren funktioniert Fehlerfrei, wenn ich allerdings versuche den Code auszuführen bekomme ich eine InvalidCastException .

    Wo könnte der Fehler stecken?

    Danke schonmal

    LG THPS
    0
     

  2. 19.01.2012, 15:36
    #2
    Du fügst Strings ein und versuchst die dann auf ListBoxItem zu casten und das klappt halt nicht.

    So sollte es gehen(jetzt nur der Idee nach, hab den Code nicht getestet):

    Code:
    lb_bezeichner.Items.Add(new ListBoxItem() { Content = element };
    bzw. besser noch weil ohne die zweite Schleife:

    Code:
    lb_bezeichner.Items.Add(new ListBoxItem() { Content = element, FontSize = 30 });
    0
     

  3. 19.01.2012, 18:44
    #3
    Vielen Dank, das hat geklappt, ich war der Meinung, das Items.Add auch so ein ListboxItem erstellt, welches man dann ansprechen kann.
    Lg
    0
     

  4. 19.01.2012, 19:35
    #4
    Jein, intern wird das schon irgendwie umgewandelt, da er es sonst nicht darstellen kann aber für den programmatischen Zugriff ist es einfach so, dass er dir das zurückgibt was du reinsteckst.
    0
     

  5. Stevies Variante würde ich unterschreiben. Wobei ich ehrlich gesagt in so einem Fall wahrscheinlich einen DataTemplate für die Einträge der ListBox definiert hätte.

    Zum Verständnis des Zusammenhangs zwischen Items der ListBox und den ListBoxItems hilft vielleicht folgendes: Die Items sind die "Daten" der ListBox. Die ListBoxItems dienen der "Präsentation" dieser Daten. Man könnte also sagen, die Items der Liste werden beim Rendern in ein ListBoxItem "eingepackt".

    Wenn du später an die ListBoxItems rankommen willst, müsstest du etwa sowas verwenden:

    Code:
    lb_bezeichner.LayoutUpdated += OnBezeichnerListLayoutUpdated;
    
    private void OnBezeichnerListLayoutUpdated(object sender, EventArgs e)
    {
       for (int i = 0; i < lb_bezeichner.Items.Count; i++)
       {
          ListBoxItem listItem = lb_bezeichner.ItemContainerGenerator.ContainerFromIndex(i) as ListBoxItem;
          if (listItem != null)
          {
             // mach was mit dem listItem
          }
       }
    }
    Für dein Problem hielte ich sowas aber für etwas sehr hintenrum. Das sauberste wäre wie gesagt ein DataTemplate (meiner Meinung nach).
    0
     

  6. 20.01.2012, 13:44
    #6
    DataTemplate wäre sicher die schönste Lösung, wollte solange da nur Text drinsteht aber noch nicht damit anfangen (in meiner Antwort).

    Sobald man da tatsächlich Datenobjekte reinstecken will, die mehr Info als nur einen String haben kommt man aber um das Template ohnehin nicht mehr wirklich herum. Vor allem sind die recht schön deklarativ zu definieren und anzupassen. Unterm Strich also die Empfehlung: ließ dich da mal ein, is eines der praktischsten Silverlight Features.
    0
     

Besucher haben diese Seite mit folgenden Suchbegriffen gefunden:

wp7 listbox fontsize

listboxitem

windows phone 7 listbox items fontsize erhöhen

wp7 listbox spalten

windows phone 7 listbox items hinzufügen

Windows Phone 7 Listbox

wp7 einfache listbox

listboxitem template ändern im code

windows phone listbox spalten

wp7 listboxitem mehrere einträge

wp7 listboxitem

listbox präsentation inhalt

wp7 listboxitem auto height

listboxitem windows phone fontsize

WP7 ListBox zugriff Listitem

listbox item font

list box font definieren

listbox item schriftart

windows phone 7 listbox font size

win phone dynamische listbox

windows phone font size listbox

listboxitem.content auf listboxitem zugreifen

phone 7 ListBox

Listbox wp7

wp7 listbox eintrag auswählen

Stichworte