Xamarin Forms (Xaml) ListView не отображает изображения - PullRequest
0 голосов
/ 11 июня 2019

Мой XAML выглядит так:

<?xml version="1.0" encoding="utf-8" ?>
    <ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
         xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
         xmlns:d="http://xamarin.com/schemas/2014/forms/design"
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
         mc:Ignorable="d"
         x:Class="MyApp.Mobile.MyPage">
<ContentPage.Content>
    <StackLayout>
        <Image Source="http://MyUrl/MyImage.png" />  <!-- WORKS -->
        <ListView ItemsSource="{Binding Cells}">
            <ListView.ItemTemplate>
                <DataTemplate>
                    <ViewCell>
                        <StackLayout Orientation="Vertical">
                            <Label Text="{Binding RowName}" />
                            <Label Text="{Binding ColumnName}" />
                            <Image Source="http://MyUrl/MyImage.png" /> <!-- DOES NOT WORK-->
                        </StackLayout>
                    </ViewCell>
                </DataTemplate>
            </ListView.ItemTemplate>
        </ListView>
    </StackLayout>
</ContentPage.Content>

Xamarin Forms (тестирование на Android) Первое изображение отображается нормально. Само же изображение в ListView не отображается. В конечном итоге я буду использовать привязку, такую ​​как Labels (которая работает), но я жестко закодировал URL-адрес при диагностике проблемы.

Кто-нибудь знает, почему изображение не отображается в ListView?

Ответы [ 2 ]

2 голосов
/ 11 июня 2019

Попробуйте, как показано ниже,

<ListView 
            HasUnevenRows="True"
            ItemsSource="{Binding Cells}">
            <ListView.ItemTemplate>
                <DataTemplate>
                    <ViewCell>
                        <StackLayout Orientation="Vertical">
                            <Label Text="{Binding RowName}" />
                            <Label Text="{Binding ColumnName}" />
                            <Image Source="http://xamarin.com/content/images/pages/index/hero.jpg" />
                            <!-- DOES NOT WORK-->
                        </StackLayout>
                    </ViewCell>
                </DataTemplate>
            </ListView.ItemTemplate>
        </ListView>

Работает, проверено на моем конце.

Счастливое кодирование ..

Кишоре Кумар Вангала.

0 голосов
/ 11 июня 2019

Я настоятельно рекомендую использовать FFImageLoading при работе с изображениями в просмотре списка.Увеличение производительности и оптимизированное потребление памяти огромно! Github | Nuget

Тогда в просмотре списка, чтобы избежать проблем с размером ячейки, лучше указать HeightRequest и WidthRequest для Image, затем использовать Aspect, которыйсоответствует вашим потребностям (AspectFit, AspectFill, ecc ...)

Только что протестировано и все работает без проблем.

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