Я пытаюсь загрузить изображение, определенное в привязке данных {Binding Icon}.
Например: {Binding Icon} = fire.png, поэтому local: ImageResource загрузит Imageresource из встроенного ресурса App.Pictures.QuestionIcons.fire.png
<Image Source="{local:ImageResource App.Pictures.QuestionIcons.{Binding Icon}}"/>
Следующий фрагмент - это класс для преобразования строки "App.Pictures.QuestionIcons.fire.png" в ImageSource
namespace App.Pictures
{
[Preserve(AllMembers = true)]
[ContentProperty(nameof(Source))]
public class ImageResourceExtension : IMarkupExtension
{
public string Source { get; set; }
public object ProvideValue(IServiceProvider serviceProvider)
{
if (Source == null)
return null;
//Output of this one would be:
//"DoepkeLeitfaden.Pictures.QuestionIcons.{x:Binding Icon"
Console.WriteLine(Source);
// Do your translation lookup here, using whatever method you require
var imageSource = ImageSource.FromResource(Source, typeof(ImageResourceExtension).GetTypeInfo().Assembly);
return imageSource;
}
}
}
Заранее спасибо