自动设置WP Image根据数据绑定源控制高度和宽度

时间:2013-04-11 22:30:12

标签: image windows-phone-7 data-binding

我有一个WP应用程序,我想在其中显示数据列表,这些图像被数据绑定到从Web服务填充的observablecollection。我想要显示的图像列表具有与检索它们相同的高度和宽度。那么,如何让图像控件自动调整其高度和宽度到数据绑定源。

使用以下代码,图像不会显示。

  <Grid x:Name="LayoutRoot">
    <Image Source="{Binding AlbumPicture}" Stretch="Fill" Width="Auto" Height="Auto"/>
  </Grid>

以下作品,但每张图片的高度和宽度不同。所以,他们看起来不太好。

  <Grid x:Name="LayoutRoot">
    <Image Source="{Binding AlbumPicture}" Stretch="Fill" Width="200" Height="120"/>
  </Grid>

我尝试了以下操作但他们没有工作。

  • 设置Stretch =“无”

  • Databind Image控制高度,宽度属性 使用以下图像,高度和宽度始终为0.

     BitmapImage bmp = new BitmapImage(new Uri(updatedAlbum.AlbumPicture, UriKind.RelativeOrAbsolute));
     album.AlbumHeight = bmp.PixelHeight;
     album.AlbumWidth = bmp.PixelWidth;
    

1 个答案:

答案 0 :(得分:0)

此代码仅在加载图像后才有效。

 album.AlbumHeight = bmp.PixelHeight;
 album.AlbumWidth = bmp.PixelWidth;

您需要等待它,然后将这些值绑定(或直接设置)到您的图像控件。

例如,您可以使用方法

<Image x:Name="img" ImageOpened="Img_OnImageOpened"/>

private void Img_OnImageOpened(object sender, RoutedEventArgs e)
{
    //start from here to set width and height.
    //you can do it directly, or by the Binding
}