如何在StackLayout中显示大小一致的图像

时间:2019-05-15 16:19:36

标签: c# visual-studio xamarin xamarin.forms

我从网络上传图像,并且希望它也显示为从资源文件夹下载的图像

 <StackLayout x:Name="CardsLayout">
    <Image Source="c0.png" Margin="10, 10, 10, 0"></Image>
 </StackLayout>

var card_image = new Image {Source = "http://f0242788.xsph.ru/cards_images/c0.png", Margin = new Thickness(10,10,10,0)};

CardsLayout.Children.Add(card_image); 

enter image description here

2 个答案:

答案 0 :(得分:1)

您可以指定 HeightRequest 使其在StackLayout上工作。

您可以这样更改:

<StackLayout x:Name="CardsLayout">
   <Image x:Name="Image" Source="c0.png" Margin="10, 10, 10, 0"></Image>
</StackLayout>

var card_image = new Image { Source = "http://f0242788.xsph.ru/cards_images/c0.png", Margin = new Thickness(10, 10, 10, 0)};
card_image.BindingContext = Image;
card_image.SetBinding(Image.HeightRequestProperty, "Height");
CardsLayout.Children.Add(card_image);

答案 1 :(得分:0)

我认为问题在于添加的行没有扩展以完全适合图像,并且图像缩小了宽度以适合(由于Aspect.AspectFit是正确的)。

尝试将VerticalOptions=LayoutOptions.StartAndExpand添加到添加的Images中以拉伸行的高度。