Déclencher une action pour démarrer après X millisecondes

Je suis l'élaboration d'un Xamarin Forms application mobile, qui a une page contenant une barre de recherche, une ListView, et de contrôle de la Carte. L'affichage de la liste contient une liste d'adresses, qui sont reflétés dans les pins sur la carte.

Que l'utilisateur tape dans la barre de recherche, la liste est automatiquement mise à jour (par ViewModel de liaison). Le ViewModel de la méthode que les filtres de la source de données pour la liste ressemble à quelque chose comme ça...

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

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

Je veux mettre à jour la Carte comme la liste est filtrée, mais pas sur CHAQUE pression de touche qui pourraient se produire plusieurs fois par seconde. Essentiellement, je veux un "rolling pause" dans chaque liste de filtres d'événement avant de la Carte est mise à jour. En pseudo-code...

    //***** 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]

Il est possible de le faire à l'aide de la Chronomètre classe, qui est disponible dans les Bibliothèques de Classe, mais je pense qu'il y est un nettoyant/mieux pour accomplir cela en utilisant Tâches.

Quelqu'un peut-il suggérer un "plus malin" PCL-compatible façon de le faire?

source d'informationauteur bosco