Xamarin отображает список источников изображений в XAML

Можно ли отобразить список источников изображений в XAML с помощью Xamarin, как вы это делаете со списком строк? В строке вы бы сделали:

<ListView x:Name="newsList" ItemsSource="{Binding newsList}" ItemTapped="listView_ItemTapped" IsPullToRefreshEnabled="True" RefreshCommand="{Binding RefreshNewsCommand}" IsRefreshing="{Binding IsCurrentlyRefreshing}" /> 

Однако, если вы сделаете это со списком источников изображений, это не сработает. Кто-нибудь знает подходящий способ загрузить этот список изображений в мои несколько? Предпочтительно, чтобы я мог загружать их рядом с элементами моего списка новостей?


person Tvt    schedule 07.12.2017    source источник


Ответы (1)


Да, вы можете определить "ItemTemplate" в ListView (xaml/c#). Есть 2 предопределенных ViewCell, которые вы можете назначить ItemTemplate. Одним из них является «ImageCell». Но ImageCell отображает изображение + текст.

Также вас может заинтересовать это: https://developer.xamarin.com/guides/xamarin-forms/user-interface/listview/customizing-cell-appearance/

Вам нужно будет создать собственный ViewCell.

Что-то вроде этого (псевдокод):

ViewCell:

<ViewCell>
    <ViewCell.View>
        <Image Source="{Binding CoolImageSource}" />
    </ViewCell.View>
</ViewCell>

//Your ListView, bring the namespace in, to reference your viewcell
//You can also define the item directly inside of the DataTemplate
//But keep your code clean and hold the viewcells separately
<ListView xmlns:vc=YourNameSpace.ViewCellsFolder>
    <ListView.ItemTemplate>
        <DataTemplate>
            <vc:MyCoolViewCell />
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>

//And finally assign a List of such model:
public class ImageItem 
{
    public ImageSource CoolImageSource { get; set; }
}
person Csharpest    schedule 07.12.2017
comment
Спасибо! кажется, ImageCell - это то, что мне нужно :) Разберусь с псевдокодом и ссылкой - person Tvt; 08.12.2017
comment
Замечательно! Рад, что смог помочь вам - person Csharpest; 08.12.2017
comment
небольшой вопрос, если у вас есть время :). Кажется, я не могу определить Viewcell в своем шаблоне данных. Любые идеи? - person Tvt; 08.12.2017
comment
Разметка должна выглядеть так: ‹ListView.ItemTemplate› ‹DataTemplate› ‹ViewCell› ‹ViewCell.View› ‹Layout› (Grid/StackLayout/RelativeLayout/AbsoluteLayout и т.д.) - person Csharpest; 08.12.2017