locked
Key Value in einer ListBox RRS feed

  • Frage

  • Guten Tag

    Bis anhinn habe ich mich mit ASP.NET befasst. Nun habe ich ein kleines Projekt das mit Silverlight umgesetz werden muss.

    Was ich nun nicht auf die Reihe kriege ist das ich einer ListBox oder ListBox Item einen Nummerischen Schlüssel zuweisen kann z.B. die ArtikelGruppenId mit der ich gerne arbeitgen möchte. Kann mir jemand einen Tipp geben? Gibt es dies überhaubt bei Silverlight so wie in ASP.NET oder was ähnliches?

     

    Grüsse JanLeu

     

    Mittwoch, 7. Dezember 2011 20:35

Antworten

  • Du kannst das Tag-Element eines ListBoxItems nutzen. Abgelegt wird der Wert als String, aber Du kannst einen Converter nutzen, wenn Du einen numerischen Wert verarbeitest.
    Donnerstag, 8. Dezember 2011 09:17
  • Hallo JanLeu,

     

    ich verwende in solchen Fällen meist ein eigenes Objekt welches alle benötigten Daten enthält. Für die korrekte Anzeige z.B. in der Listbox überlade ich die ToString() - Methode. Du kannst natürlich auch ein eigenes Template für dei Anzeige erstellen.

    Beispiel:

        public class ListBoxSample
        {
            public ListBoxSample(string t)
            {
                Titel = t;
            }
    
            public int DatenbankID { get; set; }
            public long EinWert { get; set; }
            public string Beschreibung { get; set; }
            public string Titel { get; set; }
            public override string ToString()
            {
                return Titel;
            }
        }
    

    Eine Liste deines Objektes kannst du dann der ItemsSource zuweisen.

     

    Daniel


    http://www.silverlight-community.de - deutsche Community mit Tutorials, Blogs und Usergroups
    Montag, 12. Dezember 2011 13:41

Alle Antworten

  • Du kannst das Tag-Element eines ListBoxItems nutzen. Abgelegt wird der Wert als String, aber Du kannst einen Converter nutzen, wenn Du einen numerischen Wert verarbeitest.
    Donnerstag, 8. Dezember 2011 09:17
  • Hallo JanLeu,

     

    ich verwende in solchen Fällen meist ein eigenes Objekt welches alle benötigten Daten enthält. Für die korrekte Anzeige z.B. in der Listbox überlade ich die ToString() - Methode. Du kannst natürlich auch ein eigenes Template für dei Anzeige erstellen.

    Beispiel:

        public class ListBoxSample
        {
            public ListBoxSample(string t)
            {
                Titel = t;
            }
    
            public int DatenbankID { get; set; }
            public long EinWert { get; set; }
            public string Beschreibung { get; set; }
            public string Titel { get; set; }
            public override string ToString()
            {
                return Titel;
            }
        }
    

    Eine Liste deines Objektes kannst du dann der ItemsSource zuweisen.

     

    Daniel


    http://www.silverlight-community.de - deutsche Community mit Tutorials, Blogs und Usergroups
    Montag, 12. Dezember 2011 13:41
  • Hallo Martin & Daniel

    Nach dem ausprobieren und vor allem dem Nachlesen auf MSDN habe ich nun auch begriffen das der Listebox ein Objekt zugewiesen werden kann. Idealerweise habe ich nun sogar ein Model erstellt was ja ganz praktisch ist.

    Das erwähnte Tag Element scheint auch ganz praktisch zu sein sicherlich werde ich mal darauf zurück greifen wenn mal die Aufgabe etwas komplexer wird. Die Listbox im Codebehind ab-zufüllen habe ich mir noch gar nicht überlegt... Nun bin ich etwas hin und her gerissen ob ich meine kleine App glich umbauen sollte... werde noch mal darüber schlafen und sehe wie es um die Zeit steht die mir zur Verführung steht.

    Jedenfalls bedanke ich mich bei Euch!

    Grüsse JanLeu

    Montag, 12. Dezember 2011 20:05