如何在键盘中指定允许的字符?
Posted
技术标签:
【中文标题】如何在键盘中指定允许的字符?【英文标题】:How to specify allowed characters in keyboard? 【发布时间】:2016-10-28 15:38:42 【问题描述】:我想为 android 和 ios 平台创建一个用于 pin 输入的页面。 Keyboard
属性中的 Numeric
规范符合我的需求。我可以执行this 之类的操作来限制允许的字符和总长度。但是我需要摆脱键盘上的点字符。我怎样才能做到这一点?
【问题讨论】:
【参考方案1】:您可以从软键盘上移除圆点。
使用您链接的解决方案和Keyboard="Numeric"
,您可以使用限制条目文本大小的相同TextChanged
事件来限制“.”。
例子:
public void OnTextChanged(object sender, TextChangedEventArgs args)
var e = sender as Entry;
string val = e.Text;
if (string.IsNullOrEmpty(val))
return;
if (MaxLength > 0 && val.Length > MaxLength)
val = val.Remove(val.Length - 1);
if (val.Contains("."))
val.Replace(".", string.Empty);
e.Text = val;
其他选项是为 PIN 创建一个Grid
。并在 Label
中显示 PIN,而不是 Entry
以避免粘贴。
【讨论】:
我问的是如何从键盘上删除一个字符,而不是如何限制输入。 即使您可以将其从键盘上移除,您也需要再次保护复制/粘贴点。 我已经更新了答案,请告诉我你的想法。请更新您的答案,因为“如何在条目中指定允许的字符?”与“从键盘中删除字符,而不是如何限制输入”不同。以上是关于如何在键盘中指定允许的字符?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 texbox 中只允许数字,但也允许使用法语键盘输入