У меня проблема с отображением изображений в WPF.
Вот мой код:
<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>
У меня есть изображение с исходным размером 32 * 32, но когда я запустил приведенный выше код, изображение растянется, чтобы заполнить все пространство, сверх исходного размера. Я также установил свойство «Растянуть» на «Нет», но похоже, что это не работает.
Итак, как я могу решить эту проблему? Спасибо!
Этот подходит мне для изображения с
600x800 pixels
и96dpi
.@ rishad2m8 Если размер неизвестен, можно сначала определить размер с помощью https://msdn.microsoft.com/en-us/library/system.drawing.image.size(v=vs.110).aspx, я бы предположил.
источник
Попробуйте не указывать ширину или высоту, вместо этого используйте это так:
источник
Добавление к ответу Пайи: чтобы компенсировать
WPF
попытку адаптироваться к разрешению монитора, вы должны иметь возможность установитьWidth
иHeight
для исходных размеров файла и использованияStretch="Fill"
. Это сработало для меня.источник
Если вы хотите отобразить изображение с исходным размером, но не знаете размер изображения, я думаю, что лучший способ - установить изображение в качестве фона UIElement. Как это:
источник