Text in Editable Combobox speichern



  • Hallo,

    ich habe mal eine Frage.Also ich habe eine WPF Anwendung, habe dort eine Combobox welche die Eigenschaft "IsEditable" hat. Nun möchte ich, wenn dort was eingegeben wurde, dass das auch gespeichert wird, nur leider kriege ich es überhaupt nicht hin bzw. wüsste nicht wie ich es machen müsste.Denn mit dem SelectionChanged Event kann ich da ja recht wenig machen.Kann mir da einer einen Tip geben oder sogar weiterhelfen?



  • Orientiere Dich doch einfach an Windows.Forms. Alle Events die es dort gibt gibt's auch in WPF heissen nur manchmal anders.

    [EDIT] Probier mal das TextEdit Event aus



  • ja ok das haben wir ja jetzt in meinem anderen thread auch rausbekommen, danke aber für den hinweiß, nun aber meine frage, wie kann ich es sauber gestalten in dieser editirbareb combobox einen wert zu speichern, welcher eingetippt wurde.??



  • Du nimmst einfach das falsche Event, such' Dir eines aus das besser passt! z.B. siehe meinen letzten Post (EDIT).



  • ok...nur das problem is, das es in WPf anscheind kein TextEdit Event gibt, gibt nur ein TextInput Event das is aber auch net das wahre.Ich dachte mir ich probiere es so, das wenn in der combobox Enter gedrückt wurde, es gespeichert wird? Jedoch würde das ja nur über das KeyDown Event klappen, da is aber wieder das Problem das er dann alle Tastenabfängt und ich net genau weiß wie ich Enter abfangen kann, wenn es wirklich nur in der combobox gedrückt wurde.



  • Nimm mal dieses Event(PreviewTextInput), damit kannst du Items hinzufügen.

    private void comboBox1_PreviewTextInput(object sender, System.Windows.Input.TextCompositionEventArgs e)
            {
    
                if (e.Text == "\r")
                {
                    comboBox1.Items.Add(s);
                    s = "";
                }
                else
                {
                    s += e.Text;
                }
    

    Nur ums Speichern der Items musst du dich dann noch kümmern, damit sie auch bei Neustart der App noch da sind.



  • ok thx, ich werde es gleich mal testen, danke für die mühe.



  • Ohh, ich vergaß, "s" ist privater Member vom Typ string und mit e.Text bekommst du mit jedem tippen das entsprechende Zeichen. Deshalb die Abfrage auf Return("\r").

    In der Hinsicht ist die MSDN mal wieder keine große Hilfe(finde ich).


Anmelden zum Antworten