我有一个WPF应用程序,它将在单击按钮时设置图像源
我想在经过这么多秒(例如,经过15秒)后清除图像源。
我怎样才能做到这一点?
我尝试使用Thread.sleep,但是它会立即清除源代码,然后将应用程序暂停15秒钟
这是我为那种方法所拥有的
private void btnCapture_Click(object sender, RoutedEventArgs e)
{
imgCapture.Source = //my image source;
Thread.Sleep(15000);
imgCapture.Source = null;
}
我也尝试过
private void btnCapture_Click(object sender, RoutedEventArgs e)
{
imgCapture.Source = //my image source;
imgCapture.Source = null;
Thread thread = new Thread(new ThreadStart(clearSource));
thread.Start();
}
private void clearSource()
{
Thread.Sleep(15000);
imgCapture.Source = null;
}
但是我收到一条错误消息,说调用线程无法访问该对象,因为另一个线程拥有它。
15秒后如何清除该图像源。
谢谢!
最佳答案
DispatcherTimer timer = new DispatcherTimer { Interval = TimeSpan.FromSeconds(15) };
// in constructor
timer.Tick += OnTimerTick;
private void btnCapture_Click(object sender, RoutedEventArgs e)
{
imgCapture.Source = //my image source;
timer.Start();
}
private void OnTimerTick(object sender, EventArgs e)
{
timer.Stop();
imgCapture.Source = null;
}
关于wpf - x秒后删除图像源,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14510982/