1

我正在尝试将 Image 组件源设置为 BitmapImage:

但是,那

Uri newUri = new Uri("images/" + filename, UriKind.Relative);
Image newImage = new Image();
BitmapImage bmp = new BitmapImage(newUri);
newImage.Source = bmp;

但是,如果图像小于屏幕,则会缩放以填充它。

我尝试如下设置宽度和高度:

  newImage.Height = bmp.PixelHeight;
   newImage.Width = bmp.PixelWidth;

但 BitmapImage 返回宽度和高度的零值。我想这是因为它还没有“加载”?

我如何强制它给我正确的值或至少强制 Image 组件“包装”只适合位图的大小。

我所有的图像都是适合屏幕的像素完美尺寸。

谢谢

4

1 回答 1

2

在实际加载之前,位图不知道它是 PixelHeight 和 PixelWidth,这就是你得到零的原因。但是,与其尝试手动设置 Width 和 Height,只需将Stretch属性设置为None,图像将始终保持其原始大小。

注意:如果您使用像素完美图像作为布局的一部分,请确保它能够应对方向更改为横向 :)

于 2011-04-15T16:10:20.003 回答