Как отображать изображения одинакового размера внутри StackLayout - PullRequest
0 голосов

Я загружаю изображение из сети и хочу, чтобы оно также отображалось как изображение, загруженное из папки ресурсов

 <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 ]

1 голос
/ 16 мая 2019

вы можете указать 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);
0 голосов
/ 15 мая 2019

Я полагаю, что проблема заключается в том, что добавленные строки не растягиваются, чтобы уместить изображение полностью, и изображение сжимается до ширины (это правильно из-за Aspect.AspectFit).

Попробуйте добавить VerticalOptions=LayoutOptions.StartAndExpandк вашему добавленному Images, чтобы растянуть высоту строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...