【发布时间】:2013-08-03 14:04:50
【问题描述】:
我的应用程序中的计时器正在做一些更改,我希望它在执行 stop() 方法时停止,当更改对我来说足够时它不会停止。
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 范围。
有人有想法吗?
【问题讨论】:
-
我的猜测是,以 1 毫秒的间隔,您将多次触发您的事件。尝试以 100 毫秒的间隔进行试验,看看是否会有所不同。
-
我试了 100 毫秒没用
-
如何使用 Dispatcher.BeginInvoke() ?
标签: c# windows xaml windows-8 windows-store-apps