2008-10-26 8 views
3

Je ne comprends pas ...WPF BitmapImage Largeur/Hauteur sont toujours 1?

BitmapImage img = new BitmapImage(myUri); 
Console.WriteLine("Width: {0}, Height: {1}", img.Width, img.Height); 

sortie: "Largeur: 1, Hauteur: 1".

J'ai essayé PixelWidth/pixelHeight, je l'ai essayé de créer manuellement avec BeginInit/EndInit et la mise également PreservePixelFormat ... rien ne fonctionne.

(sauf, même wierder:. Tout cela fait partie d'un processus où l'utilisateur clique sur un bouton et quelques images se téléchargé Eh bien, la secondes fois que le bouton est cliqué, il ne ont une largeur non-1/height.)

Répondre

4

La première fois que l'utilisateur clique sur le bouton, le bitmap n'a pas encore été téléchargé - donc tout ce que vous faites avec lui provoquera des résultats erronés (sauf l'affichage, car le contrôle Image sait gérer cela) .

Vous pouvez gérer l'événement BitmapImage.DownloadCompleted pour savoir quand le bitmap est disponible.

+0

wow je ne savais pas que c'était async non plus ... –

Questions connexes