1
我有一个Windows.Controls.Image,点击时需要更改它的源代码并在x毫秒内显示,然后导航到新页面。我在更改源代码后尝试使用Thread.Sleep(200),但无论我如何强制重新绘制,更改后的源代码都未显示,然后当睡眠结束时立即更改页面。有谁知道我该怎么做?干杯!点击图片显示新源后的C#短暂延迟
private void ButtonClicked(object sender, MouseButtonEventArgs e)
{
Image button = (Image)sender;
buttons[button.Name].Source = ImageResizer.ResizeImage(System.Drawing.Image.FromFile(@"D:\buttons\" + button.Name + ".png"), buttonSize);
NavigationService.Navigate(new UpgradeQuiz());
}
你可以开始与节拍处理程序,做了导航呼叫DispatcherTimer(和停止定时器)。出于好奇,为什么在WPF应用程序中使用“System.Drawing.Image.FromFile”(来自WinForms),而不是直接从本地文件URI加载WPF BitmapImage? – Clemens
我在很多年前只做了很短的c#编码,而且大部分都忘记了。我正在做的很多事情是在网络帮助下学习。我的ImageResizer.ResizeImage函数需要一个System.Drawing.Image,这就是我使用它的原因。代码在这里,如果你有兴趣:http://pastebin.com/s3VsHkhB当我学到更多的时候,我将回到最佳实践的重构。 – Falesh
您通常不会在WPF应用程序中使用WinForms类。没有看过你的ResizeImage方法,我建议将其重写为仅使用'System.Windows.Media.Imaging'中的类。 – Clemens