ComboBox mit Farben füllen
-
Hallo zusammen,
zwar habe ich mit WPF ein combobox erstellt und möchte einige Farben da hinzufügen.Und wenn man zum beispiel die Farbe rot wählt dann soll der hintergrund rot werden. Ich weiss zwar wie man ein string array erstellt und die elemente in Combobox hinzufügt.Aber wie mach ich das mit farben ??so beispiel code mit string:
[code="cs"]
string[] products = new string[] { "Notebook", "SmartPhone" };
foreach (string element in products)
productsComboBox.Items.Add(element);
-
Hi,
du kannst die Background Eigenschaft an das ausgewählte Element binden und dabei einen Converter benutzen, der einen String in eine Farbe umwandelt.
Pseudocode (ungetestet):<ComboBox Background="{Binding SelectedItem, RelativeSource={RelativeSource Self}, Converter={StaticResource stringToBrushConverter}}" />
Dann musst du eine Klasse StringToBrushConveter schreiben die von IValueConverter ableitet und die Convert Methode implementieren, sodass sie dir einen Brush zurückgibt. Schlussendlich musst du in den Window Resources noch eine Instanz deines StringToBrushConverters anlegen und entsprechend mit x:Key benennen.