Bonjour a tous,
Je suis entrain de créer une page avec un minuteur.
J'ai également ajouté un son qui est joué quand le temps = 0.
Tout vas bien ça marche très bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 void dispatcherTimer_Tick(object sender, EventArgs e) { var remaining = this.EndTime - DateTime.Now; int remainingSeconds = (int)remaining.TotalSeconds; this.timeSpan.Value = TimeSpan.FromSeconds(remainingSeconds); if (remaining.TotalSeconds <= 0) { PlaySound(@"Son\alarm-clock.wav"); this.dispatcherTimer.Stop(); } }
Mais lorsque je lance le minuteur et qui reste encore des seconde et que je décide d’appuyé sur le bouton back du tel, le son ce met a joué.
Vous me dirais : c'est normal ton TimeSpan est passé a 0
ok, totalement d'accord mais comment évité de joué le son quand l'user click sur le bouton back ?
J'avais essayé de bricolé, en surchargeant le méthode OnBackKeyPress
Mais ça ne marche pas. Le son est toujours joué.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e) { TimeSpan tp = new TimeSpan(0, 0, 1); timeSpan.Value = tp; base.OnBackKeyPress(e); }
J'ai également essayé de faire persisté la donnée du TimesSpan a 1 :
Toujours le même résultat.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e) { TimeSpan tp = new TimeSpan(0, 0, 1); PhoneApplicationService.Current.State["ValueTimeSpan"] = tp; base.OnBackKeyPress(e); }
Si vous avez une idée, merci pour votre aide.
Partager