Silverlight-Bild: laden Sie die URL dynamisch?
Bin ich basteln mit Silverlight 2.0.
Habe ich einige Bilder, die ich haben derzeit eine statische URL für das Bild Quelle.
Gibt es eine Möglichkeit dynamisch laden das Bild aus einem URL-Pfad für die Website, das hosting der Kontrolle?
Alternativ eine Konfiguration, Einstellung, gespeichert in einer einzigen Ort, hält sich der Basis-Pfad für die URL, so dass jedes Bild enthält nur den Dateinamen?
InformationsquelleAutor der Frage pearcewg | 2008-10-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
In der code-behind-oder einen Wert-Konverter, die Sie tun können
InformationsquelleAutor der Antwort Aaron Fischer
Von dem, was ich sammeln, die Sie nicht versuchen, um das Bild zu ändern, sich dynamisch, sondern eher um korrekt zu bestimmen, die Lage des Bildes zur Laufzeit.
Ich glaube einfach, indem der Bild-relative URL, die mit "../" sollte Sie das Stammverzeichnis der Anwendung, nicht unbedingt der Ort, da die Anwendung möglicherweise nicht gehostet werden, die sich in der root der Website.
Wenn Ihre XAP-Datei befindet wie folgt:
Und, wo Sie versucht, link das folgende Bild:
Anscheinend alle relativen URI ' s sind im Verhältnis zu denen der XAP-Datei befindet (ClientBin-Ordner in der Regel) und Silverlight fügt den aktuellen Silverlight-client-namespace. Also, wenn Sie Silverlight-Steuerelement ist in dem Namensraum, Whoppa, die Sie brauchen würde, um alle Ihre Bilder in der clientbin/Whoppa/- Verzeichnis. Nicht wirklich komfortabel.
Die Problemumgehung ist die Verwendung von absoluten URIs wie folgt:
InformationsquelleAutor der Antwort Craig Nicholson
InformationsquelleAutor der Antwort Malcolm Swaine
http://www.silverlightexamples.net/post/How-to-Get-Files-From-Resources-in-Silverlight-20.aspx
InformationsquelleAutor der Antwort Dan Wygant
SilverlightHost.Quelle wird Ihnen die URL, die zum laden der XAP-Datei. Sie können diese nutzen, um dann konstruieren Sie einen relativen URL für Ihre Bilder.
So, beispielsweise, wenn das XAP gehostet wird, auf http://foo.bar/ClientBin/bas.xap und Ihre Bilder gespeichert wurden, in http://foo.bar/Images/ können Sie einfach die Quelle zu greifen, der hostname und das Protokoll zur Errichtung des neuen URI.
InformationsquelleAutor der Antwort Aaron Weiker
img.Source = new BitmapImage(Bild-uri) arbeiten müssen.
InformationsquelleAutor der Antwort NinethSense
img.Source = new BitmapImage(new Uri("/images/my-image.jpg", UriKind.Relative));
wird richtig aufgelöst, um die Wurzel des Silverlight-Anwendung, wo beispielsweise "../images/my-image.jpg" nicht.Dies ist nur wahr in der code-behind bei der dynamischen Einstellung der Quelle des Bildes. Sie können diese notation ("/"zur Bezeichnung der Wurzel) in der XAML (gehen fiquire, hoffe, Sie zu beheben, dass)
InformationsquelleAutor der Antwort mknopf
Den untenstehenden code funktionierte für mich nur, wenn das Bild in das Projekt aufgenommen, da eine Ressource-Datei:
Ich bin nicht in der Lage, Zugriffs-URL, von absoluten URLs. Nicht einmal der Flickr-farm-URL für die Bilder.
InformationsquelleAutor der Antwort