2009-11-23 5 views
9

Ich möchte einen Hintergrund für mein Fenster erstellen, das ein Bild ist, das ich horizontal wiederholen möchte. Bisher habe ich es mit dem ImageBrush versucht, aber diese Option wiederholt das Bild horizontal und vertikal. Außerdem möchte ich nicht, dass es skaliert wird, wenn der Benutzer die Größe des Fensters ändert, da es das Bild lustig aussehen lässt.WPF: Wie erstelle ich einen Hintergrund, der horizontal wiederholt wird, ohne zu scalken?

irgendwelche Ideen?

Antwort

8

Wenn das, was Sie tun möchten, ist eine Fliese ein Bild horizontal, wie Sie mit der einfachen Einzeiler in CSS würden „background-repeat: repeat-x“, dann nach einigem Versuch und Irrtum, was Sie in XAML müssen (!) das ist:

<ImageBrush ImageSource="Images/my-background-image.png" 
      TileMode="FlipY" 
      Stretch="Uniform" 
      AlignmentY="Top" 
      Viewport="0,0,90,3000" 
      ViewportUnits="Absolute" /> 

Wo die letzten 2 Werte auf dem Ansichtsfenster Attribut in Pixeln die Breite des Bildes sind und dann eine sehr große Zahl, die höher ist als Ihre Darstellungshöhe ist so, dass das Bild nicht in der Y wiederholt Richtung innerhalb dieser Höhe.

+0

Funktioniert, aber es ist so esoterisch. Kacheln ist Kacheln ... nicht sicher, warum die Titeloption in WPF nicht gerade gekachelt wird. –

Verwandte Themen