TextChanged 事件在输入的数字前面加上一个额外的数字

问题描述

我有一个用 Xamarin.Forms 编写的移动应用。我正在扫描通过 USB 连接到手机的条形码。我没有使用任何 sdk 来读取条码,而是在用户打开扫描页面后立即关注文本框。

生成的条码中有一个尾随空格,有助于识别条码输入何时完成。因此,我编写了以下代码以在发生这种情况时触发我的后端服务。

 private void BarcodeNumber_TextChanged(object sender,TextChangedEventArgs e)
    {
        if(e.NewTextValue.EndsWith(" "))
        {
            ExecuteSearchBarcodeNumberCommand(e.NewTextValue.TrimEnd());
        }
    }

上述场景工作正常,但我观察到 TextChanged 事件的间歇性行为。

问题用户案例:

  • 转到条形码扫描仪页面 -> 扫描条形码 -> 使用正确的条形码编号填充数字
  • 此后,如果我转到任何其他页面 -> 并返回扫描仪页面 -> 再次扫描相同的条码 -> 它将在文本框中添加数字的第一位数字。

例如条形码编号为 54321。

在第二种情况下,它在数字前面加上 5 并使用 554321 查找服务。

提前致谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)