我正在尝试使用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绑定到什么,我尝试了一个字符串,但它给出了未处理的运行时错误。 有谁知道怎么做?
提前致谢
答案 0 :(得分:1)
您应该将它绑定到实际的程序集。 为简化起见,您可以从正在查看的程序集中的类型中获取程序集:
Assembly SvgAssembly = typeof(ClassInAssembly).Assembly;
你应该好好接受这个。
如果您需要深入了解一下,请查看我的博客文章drawing SVG with SkiaSharp。