0

次のように、Windows Phone アプリケーションに 2 つのリマインダーを追加しようとしてScheduledActionServiceいます。

private void button1_Click(object sender, RoutedEventArgs e)
    {
        if (ScheduledActionService.Find("PomodoroAkshay") != null)
        {                
            ScheduledActionService.Remove("PomodoroAkshay");
            this.Storyboard_Copy1.Begin();
            this.textBlock1.Text = "It's stopped!";
            if (ScheduledActionService.Find("BreakAkshay") != null)
            {
                ScheduledActionService.Remove("BreakAkshay");
            }
        }

        else
        {
            if (ScheduledActionService.Find("BreakAkshay") != null)
            {
                ScheduledActionService.Remove("BreakAkshay");
            }

            Reminder brk = new Reminder("BreakAkshay");
            brk.Title = "BreakUP";
            brk.Content = "Time up!";
            brk.BeginTime = DateTime.Now.AddSeconds(20);
            ScheduledActionService.Add(brk);

            Reminder pdro = new Reminder("PomodoroAkshay");
            pdro.Title = "PomodoroUP";
            pdro.Content = "Time for break!";
            pdro.BeginTime = DateTime.Now.AddSeconds(5);
            ScheduledActionService.Add(pdro);             

            this.Storyboard1.Begin();
            this.textBlock1.Text = "It's running!";
        }
    }

button1新たなスタートを押すと、else期待どおりにトリガーされます。ただし、3 つのリマインダーが表示されます。PomodoroAkshayそれらのうちの 2 つ (との両方BreakAkshay) は、5 秒後にトリガーされます。さらに、BreakAkshay予想どおり 20 秒後にトリガーされます。ただし、私が望むのは、5 秒後に 1 つのリマインダーを起動し、20 秒後に 2 つ目のリマインダーを起動することだけです。どこが間違っていますか?

追加情報: ステートメントifはリマインダーをクリアするためbutton1、トグル ボタンとして機能します。

4

1 に答える 1

0

私は何が起こっているのかを見つけたと思います。数秒などの非常に小さなチャンク時間を計算する場合、リマインダーはそれほど正確ではないようです。奇妙な動作を引き起こします。BeginTimes を数分に変更すると、すべてが期待どおりに機能します。この問題についてバグを報告する必要があります。

于 2012-08-20T05:05:40.337 に答える