[UWP小白日記-15]在UWP手機端即時限制Textbox的輸入

來源:互聯網
上載者:User

標籤:log   rgs   苦逼   number   route   indexof   string   最大   其他   

說實話重來沒想到驗證輸入是如此的苦逼的一件事情。    網上好多驗證都是在輸入完成後再驗證,我的想法是在輸入的時候就限制輸入,這樣我就不用再寫代碼來驗證了應為是手機端,所以不用判斷其他非法字元,直接把Textbox的屬性InputScope設定為"Number"就是了,反正在目前版本的UWP中純數字鍵台還無法切換到其他的字元鍵盤去下面的代碼是一個金額文字框的驗證,算是拋磚引玉吧。歡迎還有更好的方案指點! 直接上代碼:
/// <summary>        /// 檢查輸入金額,當檢測到小數掉後只能輸入2位小數        /// 當充滿12個字元後只能修改小數的值        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void valueTextBox_TextChanged(object sender, TextChangedEventArgs e)        {            //如果不為空白            if (valueTextBox.Text != string.Empty)            {                if (valueTextBox.Text.Contains(‘.‘))                {                    if (valueTextBox.Text.Count() == 10)                    {                        valueTextBox.MaxLength = valueTextBox.Text.IndexOf(‘.‘) + 3;                    }                    else                    {                        valueTextBox.MaxLength = valueTextBox.Text.IndexOf(‘.‘) + 3;                    }                }                else                {                    //當整數達到9位後自動補全小數位,並移動游標到最後一位                    if (valueTextBox.Text.Count() == 9)                    {                        //valueTextBox.Text += ".00";                        valueTextBox.MaxLength = 9;                        valueTextBox.SelectionStart = valueTextBox.Text.Length;                    }                }            }            else            {                //為空白就重設金額輸入框的最大字元數為12                valueTextBox.MaxLength = 12;            }        }        /// <summary>        /// 當整數位為9位且當前輸入的是小數點時,設定textbox最大字元數為12,移動游標到最後位置        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void valueTextBox_KeyDown(object sender, KeyRoutedEventArgs e)        {            //不知道為什麼和預設的小數點的代碼不一樣,預設為110            if (e.Key.ToString() == "190")            {                if (valueTextBox.Text.Count() == 9)                {                    valueTextBox.MaxLength = 12;                    valueTextBox.SelectionStart = valueTextBox.Text.Length;                }            }        }

 

太晚了下次再補GIF上來



來自為知筆記(Wiz)



[UWP小白日記-15]在UWP手機端即時限制Textbox的輸入

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.