2010-06-01 24 views
5

estoy usando un control de imagen para mostrar los documentos:WPF Imagen/Evento representación

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

Debido a que toma alrededor de medio segundo para mostrar la imagen en la pantalla por primera vez mostrar una vista previa con:

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

Luego configuré un temporizador para cambiar el modo a HighQuality.

¿Hay un evento que dispara WPF cuando se ha terminado la representación que podría utilizar en lugar del temporizador?

Respuesta

3

Usted puede tratar de utilizar el evento sourceupdated imagen, pero no siempre tienen un poco de suerte el uso de este.

una mejor solución, según la fuente es añadir un manejador para cuando está cargado.

se puede intentar algo como esto:

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

entonces usted puede escribir el código para ImageDownloadCompleted cambiar la resolución.

Cuestiones relacionadas