如何设置图像保持行为的时间
本文关键字:时间 图像 何设置 设置 | 更新日期: 2023-09-27 18:20:00
我正在使用图像on_hold
行为来执行任务。我用了一个定时器,在这个定时器中,我设置了5秒的时间,如果用户持有该图像5秒,页面将导航。现在我只想在用户按住图像5秒的情况下进行页面导航,而不是在任何情况下,比如用户按住图像1秒或2秒后删除。我如何设置图像on_hold
的计时器?
Public mainpage()
{
InitializeComponent();
timer = new DispatcherTimer();
timer.Interval = TimeSpan.FromSeconds(1);
timer.Tick += (s, e) =>
{
var frame = App.Current.RootVisual as PhoneApplicationFrame;
frame.Navigate(new Uri("/Second Page.xaml", UriKind.Relative));
timer.Stop();
};
}
private void Image_Hold(object sender, System.Windows.Input.GestureEventArgs e)
{
// want to set timer here either for story board or for on_hod behaviour
myStoryboard.Begin();
NewMedia.Play();
tick();
}
private void tick()
{
counter--;
if (counter <=0)
{
timer.Start();
counter = 5;
}
else
{
counter = 5;
}
}
您可以尝试组合使用ManipulationStarted和ManupopulationCompleted事件,而不是Hold
事件。将Timer
间隔设置为5秒:
timer.Interval = TimeSpan.FromSeconds(5);
当用户开始持有图像时,启动Timer
:
private void Image_ManipulationStarted(object sender, ManipulationCompletedEventArgs e)
{
myStoryboard.Begin();
NewMedia.Play();
timer.Start();
}
然后,如果用户在5秒内停止持有图像,则停止Timer
:
private void Image_ManipulationCompleted(object sender, ManipulationCompletedEventArgs e)
{
timer.Stop();
}