在我Xamarin的形式查看我有一個入口控制,這是我補充說,Xamarin數字領域唯一
myEntry.Keyboard = Keyboard.Numeric;
,使其只允許十進制。
在Android設備中,此代碼在任何給定時間只接受一個小數點。
但是在IOS中,它接受多個小數點?有什麼辦法可以限制IOS中的一個小數點嗎?
在我Xamarin的形式查看我有一個入口控制,這是我補充說,Xamarin數字領域唯一
myEntry.Keyboard = Keyboard.Numeric;
,使其只允許十進制。
在Android設備中,此代碼在任何給定時間只接受一個小數點。
但是在IOS中,它接受多個小數點?有什麼辦法可以限制IOS中的一個小數點嗎?
在Xamarin.Forms進入你有框TextChanged事件處理程序,您可以點擊進入入口發生變化時。
您將得到都的舊的文本字符串,也是新的文本字符串值。
然後,您可以做一個計數上都在新的文本字符串小數點的數量,檢查,看它是否大於1更大。
如果是,只需將Entry.Text設置爲舊值,然後你將只擁有一個小數點。
謝謝你的工作就像一個魅力。 – TBA 2014-10-31 09:15:29
使用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
}
}
此[鏈接](http://stackoverflow.com/questions/7531095/how-do-i-change-the-number-of-decimal-places-ios)可能會幫助 – 2014-10-27 16:06:04
如果它適用於Android,而不是iOS,聽起來像是一個bug。 Xamarin.Forms應該在所有平臺上提供一致的功能。你可以用下面的答案來解決這個問題,但是最好你也要把這個報告給Xamarin來修復。 – 2014-10-27 16:17:46