Entwickler-Ecke
WPF / Silverlight - WPF Browseranwendung Bild Uri problem
mokus - Mi 21.04.10 19:47
Titel: WPF Browseranwendung Bild Uri problem
Hallo,
ich hätte mal wieder ne Frage oder eher gesagt ein Problem und zwar wüsste ich gern, wie ich in einer WPF-Browseranwendung Bilder über eine Uri dazu lade die sich Lokal im selben Ordner befinden.
Derzeitiger versuch:
C#-Quelltext
1:
| DefaultSkin = new Uri(Environment.CurrentDirectory + "\\Graphics\\Units\\Ground\\defaultGround.png", UriKind.Absolute); |
Das Problem ist es jetzt, das "Environment.CurrentDirectory" ersmal einen anderen Pfad angibt, ist aber verständlich da es sich ja schließlich um eine Web-Anwendung handelt. Okay jetzt denk ich mir, wieso nicht einfach ohne "Environment.CurrentDirectory".
C#-Quelltext
1:
| DefaultSkin = new Uri("\\Graphics\\Units\\Ground\\defaultGround.png", UriKind.Absolute); |
Nun ist aber die Uri ungültig, hab auch schon die "\\" durch "/" ersetzt, vor "Graphics" jeweils die schrägstriche entfernt, einfach alles mögliche durchprobiert.
Übersehe ich etwas oder gibt es Schlüsselwörter mit den ich Lokal, im auszuführenden Ordner der Webanwendung die Bilder laden kann???
Aufjedenfall kann ich sagen, das sich die Bilder im Verzeichnis befinden.
Christian S. - Mi 21.04.10 19:50
Kann denn eine Browseranwendung überhaupt so direkt auf die Dateien, die auf dem Server liegen, zugreifen? Würde mich sehr wundern :gruebel:
Falls nicht kannst Du das Bild entweder als Resource in die Anwendung einbinden oder aber z.B. über HTTP verfügbar machen (oder ganz "edel" über einen Webservice ;-))
mokus - Mi 21.04.10 20:27
Ginge es dann vielleicht über die "Ressource"?
Gibt es da eine eine Methode mit der man diese, per Pfad öffnen kann?
Kha - Mi 21.04.10 21:04
Wenn die Bilder über HTTP verfügbar sind, ist der URI
pack://siteoforigin:,,,/Der/Pfad/zur/Datei.png.
Wenn du sie doch lieber als Resourcen in die Anwendung einbetten willst, fügst du sie dem Projekt hinzu, setzt ihre Build Action auf
Resource und verwendest als URI
/pack://application:,,,/Der/Pfad/zur/Datei.png oder direkt in XAML auch einfach
/Der/Pfad/zur/Datei.png.
Siehe
http://msdn.microsoft.com/en-us/library/aa970069.aspx
PS: WPF Browser-Apps? Ich dachte, das hieße heutzutage "Silverlight" :mrgreen: .
mokus - Mi 21.04.10 21:38
Naja, da muss "Silverlight" aber noch an mehr berühmtheit gewinnen, bin jetzt eigentlich auch erst richtig über Windows Phone 7 daran geraten.
Hab jetzt aber nochmal ne frage, also ich habe bei der Datei den Buildvorgang Ressource eingestellt, Dann jeweils den Pfad angepasst. Bin mir aber nich genau sicher ob es so richtig ist, da der Pfad nich erkannt wird und wenn ich auf Relative setze, wird diese Datei nicht gefunden.
C#-Quelltext
1:
| new Uri("/pack://application:/Graphics/Units/Container/defaultContainer.png" ,UriKind.Absolute) |
Der Datei Pfad is aber korrekt.
Kha - Mi 21.04.10 22:55
mokus hat folgendes geschrieben : |
| Naja, da muss "Silverlight" aber noch an mehr berühmtheit gewinnen, bin jetzt eigentlich auch erst richtig über Windows Phone 7 daran geraten. |
Wenigstens vom Interesse der Entwickler/Firmen her hat es WPF schon längst überrundet, gibt öfters Fragen, ob WPF nicht schon gestorben sei ;) .
mokus hat folgendes geschrieben : |
C#-Quelltext 1:
| new Uri("/pack://application:/Graphics/Units/Container/defaultContainer.png" ,UriKind.Absolute) | |
Sorry, der anführende Slash muss weg, das war ein C&P-Fehler. Das dreifache Komma hast allerdings du verschlampt :P .
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!