Ich habe ein Problem mit der Anzeige von Bildern in WPF.
Hier ist mein Code:
<Button HorizontalAlignment="Left" Grid.Column="1" Grid.Row="5" Margin="0,5">
<Button.Content>
<StackPanel Orientation="Horizontal" Margin="10,0">
<Image Source="/images/user_add.png" Stretch="None" HorizontalAlignment="Center" VerticalAlignment="Center" Width="24" Height="24" />
<TextBlock Text="添加" />
</StackPanel>
</Button.Content>
</Button>
Ich habe ein Bild mit der Originalgröße 32 * 32, aber wenn ich den obigen Code ausgeführt habe, wird das Bild gedehnt, um den gesamten Raum über die Originalgröße hinaus auszufüllen. Ich habe auch die "Stretch" -Eigenschaft auf "None" gesetzt, aber es scheint, dass es nicht funktioniert.
Wie kann ich dieses Problem beheben? Danke dir!
Dieser arbeitet für mich, für ein Bild mit
600x800 pixels
und96dpi
.@ rishad2m8 Wenn die Größe unbekannt ist, kann man die Größe zuerst mit https://msdn.microsoft.com/en-us/library/system.drawing.image.size(v=vs.110).aspx ermitteln .
quelle
Versuchen Sie, keine Breite oder Höhe anzugeben. Verwenden Sie diese stattdessen wie folgt:
quelle
Hinzufügen zu Payas Antwort: Um den
WPF
Versuch zu kompensieren , sich an die Monitorauflösung anzupassen, sollten Sie in der Lage sein, dasWidth
undHeight
die ursprünglichen Abmessungen und die Verwendung der Datei festzulegenStretch="Fill"
. Das hat bei mir funktioniert.quelle
Wenn Sie das Bild in Originalgröße anzeigen möchten, aber die Bildgröße nicht kennen, ist es meiner Meinung nach am besten, das Bild als Hintergrund für UIElement festzulegen. So was:
quelle