在TextChanging事件中快速输入后崩溃

时间:2016-09-19 18:04:43

标签: c# xaml win-universal-app

试试这个:

<TextBox TextChanging="TextBox_OnTextChanging"></TextBox>

private void TextBox_OnTextChanging(TextBox sender, TextBoxTextChangingEventArgs args)
{
    sender.Text = "some string"; // It does not matter about string
}

如果您尝试在TextChanging事件后更改文字,则会在文本框中快速输入(我的意思是按所有手指按下随机键)时冻结或crash

TextBox_OnTextChanged事件没问题。

(这个问题来自哪里?我正在尝试基于this post创建NumericTextBox,这个Q是核心问题。)

编辑:崩溃是这个未处理的异常: Crash

1 个答案:

答案 0 :(得分:0)

我同意@Visual Vincent,当TextChanging属性已经反映新值但仍未在UI中呈现时,会发生Text事件。当您快速键入时,它可能会导致可能导致崩溃的致命错误。在我这边它冻结但调试器没有崩溃。

  

它没有告诉我异常是什么 - 这就是问题所在。这一行代码应该不是问题。

您的VS可能配置为仅调试托管异常。如果您收到本机异常,则可能会出现此异常。您可以在项目的属性中找到Debug选项,并将Debugger typeManaged only更改为Mixed(Managed and Native)

enter image description here

我认为你已经知道它崩溃的原因,如何解决问题,也许你也想在崩溃时获取信息而不显示错误信息,对于这个问题,你可以参考How to debug a program when it crashes w/out exception?。< / p>