Thema: 

Fontsize erstellter Listboxitems

Diskutiere Fontsize erstellter Listboxitems im Windows Phone 7 Entwicklung Forum im Bereich Windows Phone 7 Allgemein; He Leute, ich füge einer Listbox per Items.Add() Listboxitems dynamisch hinzu. Danach möchte ich die Fontsize der Items ändern. Leider

  1. #1

    Fontsize erstellter Listboxitems

    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

  2. #2

    AW: Fontsize erstellter Listboxitems

    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 });
    Geändert (19.01.2012 um 15:38) Grund: ListBoxItem hat keinen Constructor mit String Parameter für den Content

  3. #3

    AW: Fontsize erstellter Listboxitems

    Vielen Dank, das hat geklappt, ich war der Meinung, das Items.Add auch so ein ListboxItem erstellt, welches man dann ansprechen kann.
    Lg

  4. #4

    AW: Fontsize erstellter Listboxitems

    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.


  5. #5

    AW: Fontsize erstellter Listboxitems

    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).

  6. #6

    AW: Fontsize erstellter Listboxitems

    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.

Antworten
Du betrachtest Fontsize erstellter Listboxitems im Forum Windows Phone 7 Entwicklung im Bereich Windows Phone 7 Allgemein von PocketPC.ch.

Fontsize erstellter Listboxitems

Besucher haben diese Seite mit folgenden Suchbegriffen gefunden:

Windows Phone 7 Listbox

windows phone 7 listbox items fontsize erhöhen

wp7 listbox spalten

windows phone 7 listbox items hinzufügen

wp7 listbox fontsize

wp7 einfache listbox

listboxitem

listbox phone 7

listbox font height

listboxitem.content auf listboxitem zugreifen

windows phone font size listbox

wp7 listboxitem mehrere einträge

windows phone listbox spalten

listboxitem template ändern im code

wp7 listbox mit 2 spalten

wp7 listbox mit mehreren zeilen

wp7 listbox eintrag auswählen

ListBox windows phone

phone 7 ListBox

wp7 listboxitem layout

windows phone element aus listbox

Listbox wp7

phone 7 listbox listenelemente darstellen

item font listbox

listbox font size