我有一个应用程序,我在其中使用图像控件来显示大图像(~8000x8000 像素)。我将图像控件绑定到 ImageSource,如下所示:
<Image x:Name="_ImageSource" Source="{Binding ViewModel.Image, Mode=OneWay}" RenderOptions.BitmapScalingMode="Linear"/>
我正在使用 Leadtools 图像库来创建 ImageSource,它是一个 WritableBitmap。
this.Image = RasterImageConverter.ConvertToSource(displayImage, ConvertToSourceOptions.None) as BitmapSource;
一切正常,但是在视图模型上设置 Image 属性的时间与 Image 控件实际更新显示的时间之间存在显着延迟(对于大图像,大约需要 10 秒)。我已经完成了一些分析/日志记录,我知道这不是对 的调用RasterImageConverter.ConvertToSource()
,而是它似乎是 Image 控件本身正在做的事情。
到目前为止,我一直无法找出导致这种延迟的原因。至少我希望能够在控件实际更新时得到通知,这样我就可以显示某种忙碌的通知,但似乎没有任何事件在正确的时间触发。
任何想法或帮助表示赞赏。