Wie Sie dynamisch laden und anzeigen von Bildern auf Windows8 metro-app
Bekomme ich Bild-URL zur Laufzeit aus der xml-Datei-reader. Diese Bild-URL ist die URL übergeben, um die folgenden Verfahren, um es herunterzuladen dynamisch.
public void Display_Image(string MyURL)
{
BitmapImage bi = new BitmapImage();
bi.UriSource = new Uri(this.BaseUri, MyURL);
Img_Poster.Source = bi;
}
Aber das funktioniert nicht. Ich bekomme keine image-Quelle. Der obige code funktioniert mit statischen URL zur compile-Zeit. Was muss ich mehr tun?
- WinRT-docs sind völlig unzureichend, gerade jetzt. Aber Bedenken Sie, dass alles, was mehr als 50 MS sein muss asynchron erfolgen. Sehen Sie, was Sie das ImageOpened-Ereignis. Vergessen Sie nicht ImageFailed.
- Casn Sie erarbeiten ein wenig weiter auf, wie Sie bekommen die Datei zur Laufzeit. Ist dies durch FilePicker? Wenn du meinst, statischen Inhalt, wird dieser Inhalte, die Teil Ihrer Anwendung?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Methode, die ich unten vorgeschlagen ist veraltet. Jedoch, erstellen Sie ein neues Bitmap-Bild dynamisch erstellt werden mit einem Uri zur Laufzeit ermittelt WIRD unterstützt und arbeiten auf den RTM-build von Windows 8. Display_Image(url) funktionieren sollte wie Sie es erwarten.
Können Sie den Datenstrom mit dem CreateFromUri Helfer: http://msdn.microsoft.com/en-us/library/windows/apps/windows.storage.streams.streamreference.createfromuri.aspx#Y0
Sollten Sie dann in der Lage sein, die Quelle deiner bitmap in die RandomAccessStream, dass die Helfer gibt
Ich hatte ähnliche Probleme mit vorher-arbeiten Bitmap-code funktioniert nicht auf Windows RT, einem frühen Versuch, überzeugt mich, dass es sich weigert, etwas herunterzuladen, es sei denn, es wird auf der Benutzeroberfläche angezeigt (hier musste ich einfügen, 1ms Verzögerung, bevor die Zuordnung von Quellen, nur um das auslösen der image-download):
Hier ist eine andere Lösung, die ich habe versucht, mit Erfolg: