J'ai une méthode dans une application Silverlight. Je veux commencer à appeler cette méthode lorsqu'un événement se produit (déplacement de souris), et continuer à appeler cette méthode toutes les secondes jusqu'à ce qu'une simple condition booléenne change. Est-ce possible ? Je ne peux pas trouver comment obtenir le rx pour générer plusieurs « événements » de l'événement uniqueUtiliser .net réactif dans silverlight pour générer plusieurs événements
0
A
Répondre
2
Voici une méthode que je l'habitude de le faire:
var isChecked = from f in Observable.FromEvent<RoutedEventHandler, RoutedEventArgs>(
h => new RoutedEventHandler(h),
h => checkBox1.Checked += h,
h => checkBox1.Checked -= h)
where checkBox1.IsChecked == true
select new Unit();
var xs = from click in Observable.FromEvent<RoutedEventHandler, RoutedEventArgs>(
h => new RoutedEventHandler(h),
h => button1.Click += h,
h => button1.Click -= h)
from ping in Observable.Interval(TimeSpan.FromSeconds(1.0)).TakeUntil(isChecked)
select ping;
_subscription = xs.ObserveOnDispatcher().Subscribe(v => label1.Content = v.ToString());
J'ai créé un bouton pour commencer les événements sur clic. J'ai créé une case à cocher qui va arrêter les événements quand elle est vérifiée. Cela peut ne pas être exactement ce que vous voulez, mais les événements se déclenchent comme vous le demandiez et vous devriez être capable de faire des modifications pour aller de l'avant.