我想检查数字格式,因为用户以以下格式输入每个数字,小数点前三位,点后一位(如果有)
用户输入 3 位数字的那一刻,我试图添加小数点。用户输入数字时是否会触发任何事件?
TextInput 和 TextInputStart 事件未按预期工作。当我尝试输入 332 时,它显示为 233。在 TextInputStart 事件上调用以下函数。
private void TestFunction(object sender, TextCompositionEventArgs e)
{
TextBox txtbox = e.OriginalSource as TextBox;
string r = txtbox.Text;
if(r.Contains('.'))
{
for (int i = 0; i < r.Length; i++)
{
if (r.Substring(i, 1) == ".")
{
txtbox.Text = r.Substring(0, i + 2);
}
}
}
if (r.Length == 2 && r[2] != '.')
{
r += ".";
txtbox.Text = r;
}
}
在调试时我注意到,TextInputStart 被触发并且文本框有前一个字符串,而不是最后输入的字符串。
有什么出路吗?:(