Xamarin 在 XAML 中显示图像源列表
Xamarin display list of imagesources in XAML
是否可以像使用字符串列表一样使用 Xamarin 在 XAML 中显示图像源列表?在字符串中你会这样做:
<ListView x:Name="newsList" ItemsSource="{Binding newsList}" ItemTapped="listView_ItemTapped" IsPullToRefreshEnabled="True" RefreshCommand="{Binding RefreshNewsCommand}" IsRefreshing="{Binding IsCurrentlyRefreshing}" />
但是,如果您使用 ImageSources 列表执行此操作,它将不起作用。
有谁知道将此图像列表加载到我的几个图像中的适当方法?最好是这样我可以将它们加载到我的新闻列表的项目旁边?
是的,您可以在 ListView (xaml / c#) 上定义一个 "ItemTemplate"。您可以将 2 个预定义的 ViewCell 分配给 ItemTemplate。其中之一是 "ImageCell"。但是 ImageCell 显示图像 + 文本。
您将必须创建自定义 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; }
}
是否可以像使用字符串列表一样使用 Xamarin 在 XAML 中显示图像源列表?在字符串中你会这样做:
<ListView x:Name="newsList" ItemsSource="{Binding newsList}" ItemTapped="listView_ItemTapped" IsPullToRefreshEnabled="True" RefreshCommand="{Binding RefreshNewsCommand}" IsRefreshing="{Binding IsCurrentlyRefreshing}" />
但是,如果您使用 ImageSources 列表执行此操作,它将不起作用。 有谁知道将此图像列表加载到我的几个图像中的适当方法?最好是这样我可以将它们加载到我的新闻列表的项目旁边?
是的,您可以在 ListView (xaml / c#) 上定义一个 "ItemTemplate"。您可以将 2 个预定义的 ViewCell 分配给 ItemTemplate。其中之一是 "ImageCell"。但是 ImageCell 显示图像 + 文本。
您将必须创建自定义 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; }
}