WPF BitmapImage Width / Height son siempre 1?
-
04-07-2019 - |
Pregunta
No entiendo ...
BitmapImage img = new BitmapImage(myUri);
Console.WriteLine("Width: {0}, Height: {1}", img.Width, img.Height);
Salida: " Ancho: 1, Altura: 1 " ;.
Probé PixelWidth / PixelHeight, intenté crearlo manualmente con BeginInit
/ EndInit
y también configuré PreservePixelFormat
... nada funciona.
(Excepto, incluso más extraño: todo esto es parte de un proceso donde el usuario hace clic en un botón y se descargan algunas imágenes. Bueno, la segunda vez que se hace clic en el botón, sí lo hace. no tiene 1 ancho / alto.)
Solución
La primera vez que el usuario hace clic en el botón, el mapa de bits no se ha descargado todavía, por lo que cualquier cosa que haga con él causará resultados no deseados (excepto mostrarlo, porque el control de imagen sabe cómo manejar esto).
Puede controlar el evento BitmapImage.DownloadCompleted para saber cuándo está disponible el mapa de bits.