【问题标题】:Input lag in Textboxes inside a ListViewListView 内文本框中的输入滞后
【发布时间】:2019-10-31 19:44:27
【问题描述】:

我正在开发一个 UWP 应用程序,该应用程序具有类似于 excel 的视图。用户可以在 ListView 内的文本字段上输入数据。滚动时,更多的项目被添加到 ListView 中,因此更多的文本框开始发挥作用。

我面临的问题是这些文本框上的输入有很多滞后。我使用的是 caliburn micro mvvm 框架,并认为它会降低应用程序的速度(主要是导航),所以我删除了它,但对打字延迟没有影响。

有人有这方面的经验吗?

【问题讨论】:

  • 您能否分享示例以重现在这些文本框中键入的问题有很多滞后
  • 您的问题是在文本更改时调用某些代码吗?这可能会导致你的滞后。而不是在用户完成输入时调用。
  • @visc 是的。我必须更改逻辑以使应用程序在没有文本更改事件的情况下工作。您能否指导用户停止输入后如何调用事件?不要认为会有这样的事件。
  • @NicoZhu-MSFT 我已经解决了这个问题,谢谢。
  • @Anss 我添加了答案

标签: windows listview uwp uwp-xaml


【解决方案1】:

您在 TextChanging 中调用代码 - 每次用户从 TextBox 输入或删除字符时都会触发此代码。不好。不幸的是,TextChanged 也会做同样的事情。

您希望在用户按下 KeyUp 上的回车键时触发您的代码 https://docs.microsoft.com/en-us/uwp/api/windows.ui.xaml.uielement.keyup

private void myTextbox_KeyUp(object sender, KeyRoutedEventArgs e)
{
    if (e.Key == VirtualKey.Enter)
    {
        // the user has pressed enter and is done entering text, do something here
    }
}

【讨论】:

    猜你喜欢
    • 2021-09-07
    • 1970-01-01
    • 2015-11-28
    • 1970-01-01
    • 1970-01-01
    • 2015-08-10
    • 2013-11-06
    • 2022-11-30
    • 1970-01-01
    相关资源
    最近更新 更多