C# 在Windows 8.1应用商店中键入更快或更长的查询时,Searchbox控件崩溃
我正在尝试用搜索建议实现Searchbox。每次我输入更快或更长的查询文本时,应用程序都会崩溃。在catch块中未捕获异常C# 在Windows 8.1应用商店中键入更快或更长的查询时,Searchbox控件崩溃,c#,xaml,windows-store-apps,winrt-xaml,search-box,C#,Xaml,Windows Store Apps,Winrt Xaml,Search Box,我正在尝试用搜索建议实现Searchbox。每次我输入更快或更长的查询文本时,应用程序都会崩溃。在catch块中未捕获异常 private void SearchBoxEventsSuggestionsRequested(object sender, SearchBoxSuggestionsRequestedEventArgs e) { try { var pList = GetPList(); string queryText = e.QueryTex
private void SearchBoxEventsSuggestionsRequested(object sender, SearchBoxSuggestionsRequestedEventArgs e)
{
try {
var pList = GetPList();
string queryText = e.QueryText;
if (!string.IsNullOrEmpty(queryText))
{
Windows.ApplicationModel.Search.SearchSuggestionCollection suggestionCollection = e.Request.SearchSuggestionCollection;
foreach (var p in pList)
{
bool exists = p.desc.IndexOf(queryText, StringComparison.CurrentCultureIgnoreCase) > -1;
if (exists)
{
string result = p.desc + Environment.NewLine + p.name;
suggestionCollection.AppendQuerySuggestion(result);
}
}
}
}
catch (Exception ex){}
}
GetPList方法不是异步的
我这里出了什么问题?您可以尝试延迟方法。等待一秒钟,然后再按任何其他键。一旦用户停止键入,则可以执行搜索/筛选
启动计时器并在滴答声中执行操作。如果有其他按键,请立即按下。重置计时器,使滴答声进一步延迟 您可以尝试延迟方法。等待一秒钟,然后再按任何其他键。一旦用户停止键入,则可以执行搜索/筛选
启动计时器并在滴答声中执行操作。如果有其他按键,请立即按下。重置计时器,使滴答声进一步延迟 首先,为什么函数是异步的?你没什么可等的,那是个错误。没有使用async关键字。首先,为什么函数是异步的?你没什么可等的,那是个错误。没有使用异步关键字。