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

时间:2014-05-08 12:50:54

标签: c# windows-phone-7 textbox hex

我正在使用我正在编码的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个代码。第二个是有效的,而第三个没有。

1 个答案:

答案 0 :(得分:1)

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