Вот код, который запускается на событии PreviewTextInput < /code>: (некоторые из кода немного избыточно, но он выполняет задание) < /p>
Код: Выделить всё
private void PreviewTextInput(object sender, TextCompositionEventArgs e)
{
TextBox textBox = (TextBox)sender;
if (e.Text == ".")
{
if (textBox.Text.Contains("."))
{
e.Handled = true;
return;
}
else
{
//Here I am attempting to add the decimal point myself
textBox.Text = (textBox.Text + ".");
e.handled = true;
return;
}
}
else
{
e.Handled = !IsTextAllowed(e.Text);
return;
}
}
private static bool IsTextAllowed(string text)
{
Regex regex = new Regex("[^0-9.-]+"); //regex that matches disallowed text
return !regex.IsMatch(text);
}
Не должно быть ничего плохого в моем коде, я просто надеялся заставить текстовое поле < /code>, надеюсь, пропустить какое-то ненужное (?) Автоформатирование. < /p>
есть ли способ сделать текстовый поле < /code> "Care" об этой первой десятичной точке? Количество десятичных декораций? »(Я провел много исследований в этой области, и я не думаю, что есть другие варианты.)
Подробнее здесь: https://stackoverflow.com/questions/150 ... imal-point