Я создал приложение Xamarin Native только для создания спецификации платформы UI Part c и общего кода (Model, ViewModel) с использованием. net библиотеки стандартных классов
Для этого сценария, вы можете сослаться на этот документ , который заставляет ImageResourceExtension
загружать изображение Embedded
из. net библиотеки стандартных классов.
Нам нужно добавить следующий код в . net стандартная библиотека классов .
[Preserve(AllMembers = true)]
[ContentProperty(nameof(Source))]
public class ImageExtension : IMarkupExtension
{
public string Source { get; set; }
public object ProvideValue(IServiceProvider serviceProvider)
{
if (Source == null)
return null;
// Do your translation lookup here, using whatever method you require
var imageSource = ImageSource.FromResource(Source, typeof(ImageExtension).GetTypeInfo().Assembly);
return imageSource;
}
}
Затем добавьте файл изображения в. net стандартную библиотеку классов и измените действие сборки на Embedded
Использование
ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:mySource="clr-namespace:ImageLib;assembly=ImageLib"
x:Class="WorkingWithImages.EmbeddedImagesXaml">
<StackLayout Margin="20,35,20,20">
<Image Source="{mySource:Image ImageLib.logo.jpg}" />
</StackLayout>
/ContentPage>
Обратите внимание: путь к изображению: имя_класса.imagename.jpg
Обновление
Вы можете использовать схему uwp uri, чтобы добавить путь к изображению для управления изображениями, например
<ImageBrush ImageSource="ms-appx:///Image/AppLogoicon.png" Stretch="UniformToFill" x:Name="Image" />