Ich habe ein Problem in meiner Xamarin.Forms-Anwendung in MVVM. Ich habe eine ListView und möchte ein Bild in ItemTemplate anzeigen. Zu tun, dass ich eine ImageRessource Klasse erstellt haben:ListView Xamarin.forms laden Bild dynamisch von ItemSource mit ImageResource
[ContentProperty("Source")]
public class ImageResourceExtension : IMarkupExtension
{
public string Source { get; set; }
public object ProvideValue(IServiceProvider serviceProvider)
{
if (Source == null)
{
return null;
}
var imageSource = ImageSource.FromResource($"CoPro.Assets.{Source}");
return imageSource;
}
}
Hier ist die XAML meiner Listview:
<ListView ItemsSource="{Binding Series}">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="20"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<StackLayout Orientation="Horizontal">
<Image Source="{images:ImageResource image.jpg}"/>
</StackLayout>
<Label Grid.Column="1" Text="{Binding Name}" Style="{StaticResource UsualLabelTemplate}" />
</Grid>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
Außerdem habe ich auf "Bilder" von diesem Namensraum: xmlns: Bilder = "clr -namespace: CoPro.Assets "
So zeigt mein ListView für jedes" Series "Item das gleiche Bild. Für jedes Element gibt es eine Zeichenfolgeneigenschaft mit dem Pfad des Bildes. Wie kann ich bitte ein Bild von jedem Artikel zeigen?
Vielen Dank im Voraus für Ihre Hilfe.
Warum DateiImageSource nicht direkt verwenden? –