Ich möchte Benutzereintrag überprüfen, um sicherzustellen, dass sie Ganzzahlen sind. Wie kann ich es tun? Ich dachte an die Verwendung von IDataErrorInfo
, die wie die "richtige" Möglichkeit erscheint, die Validierung in WPF durchzuführen. Also habe ich versucht, es in meinem ViewModel zu implementieren.Nur numerische Eingabe in WPF zulassen Textfeld
Aber die Sache ist, mein Textfeld ist an ein ganzzahliges Feld gebunden, und es gibt keine Notwendigkeit zu validieren, wenn ein int
ein int
ist. Ich habe festgestellt, dass WPF automatisch einen roten Rahmen um das Textfeld hinzufügt, um den Benutzer über den Fehler zu informieren. Die zugrunde liegende Eigenschaft ändert sich nicht in einen ungültigen Wert. Aber ich möchte den Benutzer darüber informieren. Wie kann ich es tun?
Dies wird nicht Leerzeichen behandeln. Wie kann ich mit dem umgehen? –
trimmen sie später weg? –
IsTextNumeric gibt true für nicht numerischen Text zurück. Eine besser lesbare Lösung wäre, die Regex auf [0-9] zu ändern und e.Handled =! IsTextNumeric zu setzen, damit das Ereignis bei numerischem Text durchgebrannt wird. Das oder ändern Sie den Methodennamen zu IsTextNotNumeric :) –