我有一个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;
答案 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
}