在我的Xamarin表单视图中,我有一个入口控件,我已经添加了
myEntry.Keyboard = Keyboard.Numeric;
仅使其成为小数。
在Android设备中,此代码在任何给定时间只接受一个小数点。
然而在IOS中,它接受多个小数点?有什么办法我也可以在IOS中只限制一个小数点。
答案 0 :(得分:3)
在 Xamarin.Forms 条目中,您有一个 TextChanged 事件处理程序,您可以在条目更改时使用该处理程序。
旧文本字符串以及新文本字符串值。
然后,您可以对新文本字符串中的小数点数进行计数,检查它是否大于1 < /强>
如果是,只需将 Entry.Text 设置为旧值,然后您将只有一个小数点。
答案 1 :(得分:0)
使用TextChanged事件处理程序,您可以使用各种TryParse方法之一。这些方法也可以给予特定的文化和风格。以下示例使用Double的版本。
private void Entry_TextChanged(object sender, TextChangedEventArgs e)
{
string newValue = e.NewTextValue;
double value;
if (double.TryParse(newValue, out value))
{
// Do logic for valid value
}
else
{
// Do logic for invalid value
}
}