binden Sie ein Bild in der XAML-Quelle
Ich versuche zu binden, ein Bild der Quelle zu meinem XAML mit c#
dies funktioniert
<Image Source="images/man.jpg"></Image>
funktioniert das nicht
<Image Source="images/{Binding imagesource}"></Image>
wo imagesource ist eine string-variable in der c# - Datei von dieser xaml-Code und wird gleich "man.jpg"
Du musst angemeldet sein, um einen Kommentar abzugeben.
hier ist ein Weg, wie es in XAML:
fügen Sie diese zu den namespace:
dann fügen Sie Ihre Bilder Pfade
Dies ist, wie Sie es verwenden
Dies funktioniert ok, aber wenn Sie laden Sie Ihre xaml-Stil, in der Mischung, es wird gehen falsch..
Ein Objekt des Typs "System.String" angewendet werden kann, um eine Eigenschaft, die erwartet, dass der Typ "System.Windows.Media.ImageSource".
Ich hab noch nicht herausgefunden, wie zu ersetzen-System:String mit diesen Medien.ImageSource... aber hey.. es funktioniert für mich in Visual Studio.
Sie können nicht halten eine verbindliche, auf halbem Weg durch den Wert so. Es ist entweder eine Bindung, oder ist es nicht. Vorausgesetzt, imagesource ist öffentlich zugänglich über Ihre
DataContext
, Sie könnten dies tun:Allerdings, wenn es wurde eingestellt "man.jpg" dann wird es nicht finden, das Bild. Entweder imagesource, um den vollständigen Pfad ("images/man.jpg") oder einen Konverter verwenden:
Den converter würde prepend "Bilder/" auf seinen Wert. Jedoch kann es notwendig sein, für die Konverter, um eine
ImageSource
eher als einestring
.Bilder gebissen haben mich in der Vergangenheit. Gibt es einen bestimmten lookup, um beteiligt.
Wenn Sie "image/man.jpg" es könnte verweisen Sie auf eine Datei in Ihrem silverlight-xap -, oder relativ zum Speicherort der XAP-Datei. Zum Beispiel könnte es in YourProject.Web/ClientBin/image/man.jpg.
Sollten Sie die Problembehandlung mit vollständigen URLs zuerst und finden Sie heraus, ob das funktioniert.
imagesource
muss, um eine tatsächlicheImage
Objekt, nicht einstring
.Hier ist eine Methode, erstellen Sie eine neue
Image
Objekt in einem gegebenen Pfad: