1
我正在创建一个具有条目的应用程序。我试图限制条目只允许数字输入。我已经尝试过使用Keyboard =“Numeric”。然而,对于iPad而言,键盘的字符数不仅仅是数字。所以我不得不限制输入的内容。然而,当我这样做时,如果用户键入括号,例如,它确实会停止输入字符。但是如果用户按下撤消,则会崩溃。我认为这是因为软件键盘与应用程序分离,所以它正在寻找该括号字符,但它不在那里。这里是我的代码:如何在xamarin中禁用/取消撤消按钮
private void Entry_TextChanged(object sender, TextChangedEventArgs e)
{
Entry theEntry = (Entry)sender;
string entryText = theEntry.Text;
if(entryText != null && entryText.Length != 0)
{
char theMostRecentInput = entryText[entryText.Length - 1];
if(!Extension.IsNumeric(theMostRecentInput))
{
theEntry.TextChanged -= Entry_TextChanged;
theEntry.Text = e.OldTextValue;
theEntry.TextChanged += Entry_TextChanged;
}
}
}
感谢您的帮助!
不知道如何解决这个问题,但你有另一个错误。你假设最近输入的字符是字符串中的最后一个字符。更好的方法可能是在用户完成表单时验证数字,并通知用户该字符串是否包含无效字符。在用户输入的文本框中设置字符串将导致意外的结果。 – Slepz