Saya punya masalah dengan menampilkan gambar di WPF.
Ini kode saya:
<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>
Saya memiliki gambar dengan ukuran asli 32 * 32, tetapi ketika saya menjalankan kode di atas, gambar akan meregang untuk mengisi semua ruang, melebihi ukuran aslinya. Saya juga menyetel properti "Regangkan" ke "Tidak Ada", tetapi tampaknya properti itu tidak berfungsi.
Jadi, bagaimana cara mengatasi masalah ini? Terima kasih!
Yang ini bekerja untuk saya, untuk gambar dengan
600x800 pixels
dan96dpi
.@ rishad2m8 Jika ukuran tidak diketahui, seseorang dapat mendeteksi ukuran terlebih dahulu dengan https://msdn.microsoft.com/en-us/library/system.drawing.image.size(v=vs.110).aspx saya kira.
sumber
Cobalah untuk tidak menentukan lebar atau tinggi, gunakan seperti ini:
sumber
Menambah jawaban Paya: untuk mengimbangi
WPF
upaya beradaptasi dengan resolusi monitor, Anda harus dapat mengaturWidth
danHeight
ke dimensi dan penggunaan asli fileStretch="Fill"
. Ini berhasil untuk saya.sumber
Jika Anda ingin menampilkan gambar dengan ukuran aslinya, tetapi tidak mengetahui ukuran gambar, menurut saya cara terbaik adalah dengan mengatur gambar tersebut sebagai background UIElement. Seperti ini:
sumber