ich eine UWP app bin zu schaffen, die Zahlen unterschiedliche Textfelder hat einzugeben. Um sicherzustellen, dass nur Zahlen eingegeben werden können, verwende ich das TextChanging-Ereignis. Leider kann ich keine Dokumentation darüber finden, wie man TextChanging im Detail benutzt, um falsche Eingaben zu ignorieren.UWP TextBox.TextChanging Verwendung falscher Daten zu ignorieren
für TextBox Eine Arbeitslösung ist folgende:
string oldText;
private void tbInput_TextChanging(TextBox sender, TextBoxTextChangingEventArgs args)
{
double temp;
if (double.TryParse(sender.Text, out temp) || sender.Text == "")
oldText = sender.Text;
else
{
int pos = sender.SelectionStart - 1;
sender.Text = oldText;
sender.SelectionStart = pos;
}
}
diese Lösung würde ich für jeden TextBox ein string oldText
benötigen und entweder auch eine TextChanging Funktion für jeden von ihm oder viel mehr Code innerhalb der Funktion .
Gibt es eine einfache Möglichkeit, „falsche“ Eingaben im TextBox.TextChanging Ereignisse zu ignorieren?
Sind Sie sich bewusst * InputScopes *? Sie können auch einen Blick auf diese Antwort werfen (http://stackoverflow.com/a/21193669/2681948) - vielleicht wird es helfen. – Romasz
Ich habe bereits das _InputScope_ auf "Number" gesetzt, aber auf dem PC kann ich noch Buchstaben eingeben ... Ihr Link sieht gut aus, ich werde es versuchen. – daengl
Es gibt wahrscheinlich einige Möglichkeiten, wie Sie diese Aufgabe bewältigen können. Außerdem müssen Sie wahrscheinlich mit dem Fall umgehen, wenn Benutzer einen Text kopieren und einfügen. – Romasz