2010-06-01 79 views
5

我使用Image控件来显示文档:因为它需要大约一半的第二显示屏幕上的图像WPF图片/呈现事件

<Image x:Name="cImage" SnapsToDevicePixels="True" ... /> 

我第一显示与预览:

RenderOptions.SetBitmapScalingMode(cImage, BitmapScalingMode.NearestNeighbor); 
cImage.Source=...; 

然后我设置了一个计时器将模式更改为HighQuality。

是否有一个WPF在完成渲染时触发的事件,我可以使用而不是定时器?

回答

3

您可以尝试使用图像源更新事件,但我并不总是有任何运气使用此。

更好的解决方案,取决于你的源是添加一个处理程序,当它被加载。

你可以尝试这样的事:

BitmapImage src = new BitmapImage(); 
src.BeginInit(); 
src.UriSource = tURI; 
src.EndInit(); 
imgImage.SetCurrentValue(Image.SourceProperty, src); 
src.DownloadCompleted += ImageDownloadCompleted; 

那么你可以编写代码ImageDownloadCompleted更改分辨率。