我使用了nugget包SVG.Forms.Plugin.Abstractions,我从一个简单的例子中复制了下面的XAML但是无法显示svg。 图像位于'图像中。 TestApp应用程序中的文件夹,它的构建操作是嵌入式资源。 Svg可以在viewModel中绑定到下面的公共程序集。 我得到的只是一个空白屏幕,顶部是标题文字。 任何人都可以看到任何明显错误的东西吗?
public Assembly SvgAssembly
{
get { return typeof(App).GetTypeInfo().Assembly; }
}
XAML:
<?xml version="1.0" encoding="utf-8"?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="TestApp.MainPage"
xmlns:artina="clr-namespace:UXDivers.Artina.Shared;assembly=UXDivers.Artina.Shared"
xmlns:local="clr-namespace:TestApp;assembly=TestApp" Title="{ artina:Translate PageTitle}" BackgroundColor="{DynamicResource BasePageColor}"
xmlns:abstractions="clr-namespace:SVG.Forms.Plugin.Abstractions;assembly=SVG.Forms.Plugin.Abstractions">
<ContentPage.Content>
<StackLayout>
<abstractions:SvgImage
SvgAssembly="{Binding SvgAssembly }"
SvgPath="TestApp.images.brand.svg"
Width="200"
Height="200" />
</StackLayout>
</ContentPage.Content>
</ContentPage>
答案 0 :(得分:0)
Just a note :
remove the spacing from your binding :
SvgAssembly="{Binding SvgAssembly }"
You should be referencing the image like this :
SvgPath="brand.SVG"
You need to make sure you are referencing the image correctly : my answer from another question here.
答案 1 :(得分:0)
尝试使用FFImageLoading,因为它具有使用SVG图像的选项。它还具有在用户设备上缓存图像的选项。查找以下文档:
https://github.com/luberda-molinet/FFImageLoading/wiki/Xamarin.Forms-API