使用svg插件在Xamarin中使用scalabe svg文件

时间:2017-12-14 15:39:06

标签: svg xamarin.forms

我正在尝试使用Xamarin Forms插件SVG.Forms.Plugin.Abstractions来呈现可伸缩的SVG文件,而不是为每个设备大小创建一个文件。

在阅读操作方法时,它指出要在代码中创建图像我应该这样做:

new SvgImage
            {
                SvgPath = "pic.svg",
                SvgAssembly = typeof (App).GetTypeInfo().Assembly,
                HeightRequest = 200,
                WidthRequest = 200,
                HorizontalOptions = LayoutOptions.Center,
                VerticalOptions = LayoutOptions.End,
                BackgroundColor = Color.White
            };

但是我宁愿在XAML中这样做,到目前为止还有以下

<abstractions:SvgImage Grid.Row="1" Grid.Column="0" SvgAssembly="{Binding SvgAssembly}" SvgPath="{Binding SvgPath}" HeightRequest="250" WidthRequest="250" BackgroundColor="White" HorizontalOptions="Center" VerticalOptions="End"/>

我假设我需要将SvgPath绑定到后面的代码中的字符串值,但我不确定将SvgAssembly绑定到什么,我尝试了一个字符串,但它给出了未处理的运行时错误。 有谁知道怎么做?

提前致谢

1 个答案:

答案 0 :(得分:1)

您应该将它绑定到实际的程序集。 为简化起见,您可以从正在查看的程序集中的类型中获取程序集:

Assembly SvgAssembly = typeof(ClassInAssembly).Assembly;

你应该好好接受这个。

如果您需要深入了解一下,请查看我的博客文章drawing SVG with SkiaSharp