Entwickler-Ecke

WPF / Silverlight - WPF - Image mit Hintergrundbild


Raven280438 - Do 14.08.14 14:38
Titel: WPF - Image mit Hintergrundbild
Hi,

ich beschäftige mich seit Kurzem mit WPF.

Ich habe ein Logo, dessen Hintergrund ein Farbverlauf hat. Dieses Logo soll am oberen Rand eines Windows angezeigt werden.

Das Logo hat eine Breite von 400px. Wenn das Fenster aber breiter als diese 400px wird, soll der Farbverlauf über die gesamte Breite gehen.
Dazu habe ich den Farbverlauf in ein extra Bild kopiert. Dieses Bild soll hinter dem Logo über die gesamte Breite wiederholt werden.
Allerdings stimmen die Farbverläufe nicht überein. (siehe Anhang)

Meine XAML-Datei sieht so aus:


XML-Daten
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
<Window x:Class="MyApp.Windows.InfoWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Info" Height="250" Width="500" Icon="/MyApp;component/Resources/tray-icon-16x16.ico" WindowStartupLocation="CenterScreen">
   <DockPanel Height="83" HorizontalAlignment="Stretch" Margin="0,0,0,0" VerticalAlignment="Top" MinHeight="83">
        <DockPanel.Background>
            <ImageBrush ImageSource="/MyApp;component/Resources/header_background.jpg"
                        ViewportUnits="Absolute"
                        Viewport="0,0,14,83"
                        TileMode="FlipX"
                        Stretch="Uniform"
                        />
        </DockPanel.Background>
        <Image Height="83" Name="header_image" Stretch="None" VerticalAlignment="Top" Source="/MyApp;component/Resources/header.jpg" />
    </DockPanel>
</Window>


Kann mir jemand sagen, wo der Fehler liegt?


Edit: Screenshot hinzugefügt


Gruß


Raven280438 - Fr 15.08.14 10:11

Hi,

nach langem Rumprobieren hab ich jetzt doch eine Lösung gefunden:


XML-Daten
1:
2:
3:
4:
5:
6:
7:
<DockPanel.Background>
            <ImageBrush ImageSource="/MyApp;component/Resources/header_background.jpg"
                        ViewportUnits="Absolute"
                        Viewport="0,0,14,83"
                        TileMode="FlipY"
                        Stretch="Fill" />
</DockPanel.Background>



Gruß


Christian S. - Fr 15.08.14 11:13

Könntest Du den Gradienten nicht besser in WPF zeichnen lassen? Das dürfte besser aussehen als ein hochskaliertes Bild.