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