Maui调用其他库的图片

Maui调用其他库的图片

  1. 图片设置成嵌入的资源

  2. 添加图片资源转换类

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    
    public class CustomImageResourceConverter : ImageResourceConverter
    {
        public override ImageSource? DefaultConvertReturnValue { get; set; } = null;
    
        [return: NotNullIfNotNull(nameof(value))]
        public override ImageSource? ConvertFrom(string? value, CultureInfo? culture = null) => value switch
        {
            null => null,
            _ => ImageSource.FromResource(BuildImageResource(value), GetType().Assembly)
            //_ => ImageSource.FromFile(value)
        };
    
        string BuildImageResource(in string resourceName) => $"{typeof(CustomImageResourceConverter).Assembly.GetName().Name}.Images.{resourceName}";
    }
    
  3. 在调用项目的xaml中添加图片引用

    1
    2
    3
    4
    5
    6
    7
    8
    
    <ContentPage.Resources>
        <ResourceDictionary>
            <toolkit:InvertedBoolConverter x:Key="InvertedBoolConverter" x:Name="InvertedBoolConverter"/>
            <resources:CustomImageResourceConverter x:Key="ImageResourceConverter" />
        </ResourceDictionary>
    </ContentPage.Resources>
    
    <ImageButton Source="{Binding Source=append.png, Converter={StaticResource ImageResourceConverter}}" />
    
  4. 图片名称全部要小写

Licensed under CC BY-NC-SA 4.0
Built with Hugo
Theme Stack designed by Jimmy