Windows Phone文本框限制只能接受8个字符

本文关键字:能接受 8个 字符 Phone 文本 Windows | 更新日期: 2023-09-27 18:02:16

我在编写Windows Phone 7应用程序时遇到了问题(使用Visual Studio 2010)。我的代码是这样的:

private void Key1Input_TextChanged(object sender, EventArgs e)
{
  string hexOnly= Key1Input.Text;
  int n = 0;
  if (!int.TryParse(hexOnly, System.Globalization.NumberStyles.HexNumber, System.Globalization.NumberFormatInfo.CurrentInfo, out n) &&
    hexOnly!= String.Empty)
  {
    Key1Input.Text = hexOnly.Remove(hexOnly.Length - 1, 1);
    Key1Input.SelectionStart = Key1Input.Text.Length;
  }
}

这是一个相同的代码,也可以从这个网站找到:http://social.msdn.microsoft.com/Forums/windows/en-US/ec7b777d-deb1-45e1-b66e-e25daddf6497/text-box-which-accepts-only-hexadecimal-values

代码工作正常,但是当我试图向文本框插入第9个字符时,它没有显示。我的文本框的Maxlength值是12。在向代码插入一些断点并调试应用程序后,我注意到当有8个十六进制数字并尝试键入更多时,它会进入if语句。是我做错了什么,还是WP7有一些限制?

我也尝试了来自同一网站的其他2个代码。

Windows Phone文本框限制只能接受8个字符

最小的8位十六进制数是F0000000,它大于Int32.MaxValue。用long代替int