2016-05-04 4 views
0

Ich entwickle eine kleine WPF-Anwendung und ich versuche, den Hintergrund eines Rasters zu einem Bild zu ändern, das der Benutzer wählt (irgendwo auf dem Computer an einem anderen Ort als die App gespeichert). Ist es möglich, die Bilder nicht in das Projekt aufzunehmen und als Ressource zu kennzeichnen? Wie?Wie wird der Hintergrund eines WPF-Rasters auf ein Bild im lokalen Ordner festgelegt?

+1

Ja, es möglich ist, – Pikoh

+1

Was Sie bedeuten, „die Farbe ändern, basierend auf einem Bild?“ Wie wählen Sie das obere linke Pixel des Bildes und verwenden Sie das? –

+0

Es war ein Tippfehler, jetzt korrigiert. –

Antwort

0

Sie müssen nur das Bild der Quelle URI zum Aufnahmeort setzen

<Image Source="<<URI of image>>"/> 

<ImageBrush ImageSource="<<URI of image>>"/> 

oder Sie können über die Bindung das gleiche tun, damit es

<Image Source="{Binding Data}"/> 

in diesem Beispiel angepasst werden Daten ist ein Byte [] im Modell gespeichert, aber könnte alles sein, das in eine Bildquelle konvertiert

1

Angenommen, Sie Grid Name ist grid, dann xaml woul D:

<Grid Name="grid"> 
... 
</Grid> 

dann grid programmatisch ein Bild zu setzen, sollten Sie den folgenden Codeausschnitt verwenden:

string [email protected]"E:\anImage.jpg"; 
grid.Background= new ImageBrush { ImageSource = new BitmapImage(new Uri(imgPath, 
                UriKind.RelativeOrAbsolute)) }; 
+1

Mit 'UriKind.RelativeOrAbsolute' würde es auch mit einem absoluten Dateipfad arbeiten. – Clemens

+0

@RicardoAlves Fühlen Sie sich frei, irgendeine Frage zu stellen. Wenn Sie meinen, dass meine Antwort Ihnen hilft, dann können Sie meine Antwort als eine Antwort markieren, um die zukünftige Suche nach anderen Personen zu vereinfachen. Bitte lesen Sie diese http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work – StepUp

0

Dies funktioniert für mich: 1) Bild hinzufügen in Lösung (In => Artikel bestehende)

2) <Grid> <Grid.Background> <ImageBrush ImageSource="/App;component/Chrysanthemum.jpg"> </ImageBrush> </Grid.Background> </Grid>

Verwandte Themen