Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在windows 8中停止计时器?_C#_Windows_Xaml_Windows 8_Windows Store Apps - Fatal编程技术网

C# 如何在windows 8中停止计时器?

C# 如何在windows 8中停止计时器?,c#,windows,xaml,windows-8,windows-store-apps,C#,Windows,Xaml,Windows 8,Windows Store Apps,我的应用程序中的计时器正在进行一些更改,我希望它在执行停止方法时停止,但它不停止 timerpartAnimation = new DispatcherTimer(); timerpartAnimation.Interval = TimeSpan.FromMilliseconds(1); timerpartAnimation.Tick += timer_Tick_Anime; timerpartAnimation.Start(); public void timer_Tick_Anime(ob

我的应用程序中的计时器正在进行一些更改,我希望它在执行停止方法时停止,但它不停止

timerpartAnimation = new DispatcherTimer();
timerpartAnimation.Interval = TimeSpan.FromMilliseconds(1);
timerpartAnimation.Tick += timer_Tick_Anime;
timerpartAnimation.Start();

public void timer_Tick_Anime(object sender, object e)
    {
        newL-=3;
        newT = A * newL + B;
        playPart33.Margin = new Thickness(newL, newT, playPart33.Margin.Right, playPart33.Margin.Bottom);
        if (dis(playPart33.Margin, currentIm.Margin))
        {
            timerpartAnimation.Stop();
            currentIm.Visibility = Windows.UI.Xaml.Visibility.Visible;
        }
    }
奇怪的是这句话:

currentIm.Visibility = Windows.UI.Xaml.Visibility.Visible;
这样它就可以轻巧地进入if范围


有人有主意吗?

你可以写一个滴答声函数

   public static void ticking(bool tick)
   {
    if(tick)
    {
    timerpartAnimation.Interval = TimeSpan.FromMilliseconds(1);
    }
    else
    {
    timerpartAnimation.Interval = TimeSpan.FromMilliseconds(0);
    }
   }

如此滴答作假;表示停止计时器。

的值是多少?将计时器事件附加到何处?你可能是。你试过了吗?我猜在1毫秒的间隔内,你的活动会被多次触发。尝试以100毫秒的间隔进行试验,看看是否会产生影响。我尝试了100毫秒没有效果。如何使用Dispatcher.BeginInvoke?