c# (wpf) ListboxItems inkleuren die voldoen aan bepaalde voorwaardes

Status
Niet open voor verdere reacties.

gholbine

Nieuwe gebruiker
Lid geworden
19 apr 2010
Berichten
3
Ik zou graag willen een listbox hebben met twee achtergrondkleuren,

één kleur bijvoorbeeld groen als het item in de listbox al verkocht is.

En een ander als het nog niet verkocht is? Zit hier al paar uur te zoeken zonder veel resultaat

Zou iemand mij kunnen een voorbeeld geven?

Bedankt
 
Listbox1.ForeColor = Color.green;
Listbox1.Items.Add("Verkocht.");


Dit hetzelfde met niet verkocht.

Listbox1.ForeColor = Color.red;
Listbox1.Items.Add("Niet Verkocht.");
 
@Beginnertjee: Dat zorgt er niet voor dat je twee kleuren in een ListBox ziet ;).


Volgens mij is dat ook niet mogelijk met een ListBox, maar wel met een ListView.

Ik heb even een voorbeeldje geschreven. Voeg eerst deze functie toe:

Code:
 public void addItem(string Tekst, Boolean Verkocht)
        {
            listView1.Items.Add(Tekst);
            if (Verkocht == true){
                listView1.Items[listView1.Items.Count - 1].ForeColor = Color.Green;
            }
            else{
                listView1.Items[listView1.Items.Count - 1].ForeColor = Color.Red;
            }
        }

Dan kun je zo een item toevoegen:

Code:
addItem("Productnaam", true);

Als het wél verkocht is, vul je in 'true' anders vul je in 'false'.
 
Laatst bewerkt:
Kan je inderdaad zoals JoZ1 zegt beter een listview voor gebruiken. Hier de meest korte en eenvoudige code:

PHP:
        private void AddItem(string Tekst, bool Verkocht)
        {
            listView1.Items.Add(new ListViewItem() { Text = Tekst, ForeColor = Verkocht ? Color.Green : Color.Red });
        }

Aanroepen voor verkocht:
PHP:
AddItem("Verkocht", true);
Aanroepen voor niet verkocht:
PHP:
AddItem("Niet verkocht", false);


Resultaat:

AgzY7.png
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan