gpt4 book ai didi

c# - X 毫秒后触发一个 Action 开始

转载 作者:可可西里 更新时间:2023-11-01 03:04:45 25 4
gpt4 key购买 nike

我正在开发一个 Xamarin Forms 移动应用程序,它有一个包含 SearchBar、ListView 和 Map 控件的页面。 ListView 包含一个地址列表,这些地址在 map 上显示为图钉。

当用户在 SearchBar 中键入内容时,ListView 会自动更新(通过 ViewModel 绑定(bind))。为列表过滤数据源的 ViewModel 方法看起来像这样......

void FilterList()
{
listDataSource = new ObservableCollection<location>(
locationData.Where(l => l.Address.Contains(searchBar.Text))
);

// ***** Now, update the map pins using the data in listDataSource
}

我想在过滤 ListView 时更新 map ,但不是在每次按键时更新 map ,因为这可能每秒发生多次。本质上,我希望在 map 更新之前在每个 FilterList 事件中有一个“滚动暂停”。在伪代码中...

    // ***** Now, update the map pins using the data in listDataSource
if (a previously-requested map update is pending)
{
// Cancel the pending map update request
}

// Request a new map update in 1000ms using [listDataSource]

可以使用 Stopwatch 类来完成此操作,该类在可移植类库中可用,但我怀疑使用 Tasks 有更清晰/更好的方法来完成此操作。

谁能建议一种“更聪明”的PCL 兼容方法来做到这一点?

最佳答案

你可以试试:

await Task.Delay(2000);

关于c# - X 毫秒后触发一个 Action 开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25176528/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com