如何从Xamarin C#视图中的动态资源设置FFImageLoading.SvgCachedImage的Source属性?

如何从Xamarin C#视图中的动态资源设置FFImageLoading.SvgCachedImage的Source属性?,xamarin,xamarin.forms,Xamarin,Xamarin.forms,以下是我当前使用的XAML代码: <ffimageloadingsvg:SvgCachedImage Source="{DynamicResource GearIcon}" /> 我也试过: gear.DynamicResource(SourceProperty, (Application.Current.Resources["GearIcon"].ToString())); 及 有人知道如何在使用C#时动态设置源代码吗。到目前为止,除了

以下是我当前使用的XAML代码:

<ffimageloadingsvg:SvgCachedImage  Source="{DynamicResource GearIcon}" />
我也试过:

gear.DynamicResource(SourceProperty, (Application.Current.Resources["GearIcon"].ToString()));


有人知道如何在使用C#时动态设置源代码吗。到目前为止,除了我现在没有使用的XAML之外,我尝试过的任何东西都不起作用。

SvgCachedImage中的
源代码类型是图像源代码。因此,如果您想在代码隐藏中设置它,可以调用下面的行

gear.Source = ImageSource.FromFile(Application.Current.Resources["GearIcon"].ToString());

你好,谢谢你的回复。请注意,我的SVG是嵌入式资源,因此我认为如果使用“FromFile”,它将不起作用。不幸的是,您的建议没有显示svg图像,而且当资源在Test.Resources.Theme.gear_light.svg和Test.Resources.Theme.gear_dark.svg之间更改时,还需要更改图像。动态。你能分享一个样本,这样我就可以在我这边测试它吗?你能分享一个样本,这样我就可以在我这边测试它吗?此外,为什么不在ViewModel中定义图像源并将其绑定到SvgCachedImage?这样,您只需要设置绑定源。”
gear.DynamicResource(SourceProperty, (ImageSource)(Application.Current.Resources["GearIcon"].ToString()));
gear.Source = ImageSource.FromFile(Application.Current.Resources["GearIcon"].ToString());