MVVMのxamarin.Formsアプリケーションに問題があります。 ListViewがあり、ItemTemplateに画像を表示したい。ここでListView Xamarin.formsがImageResourceを使用してItemSourceから画像を動的に読み込みます。
[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;
}
}
は私のListViewのXAMLです:
<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>
以外にも、私はこの名前空間で "画像" を設定している:のxmlns:画像= "CLR私はImageRessourceクラスを作成していることを行うために、 -namespace:CoPro.Assets "
このように、私のリストビューは、すべての"シリーズ "アイテムについて同じ画像を表示します。 各Itemには、画像のパスを表す文字列プロパティがあります。 各アイテムの画像を表示するにはどうしたらいいですか?
ご協力いただきありがとうございます。
なぜ。 FileImageSourceを直接使用しないでください。 –