如何解决有没有一种方法可以简化将字符串、对象添加到 Xamarin 中的资源字典的过程,以便我可以使用列表或数组来执行此操作?
当我尝试设置资源字典时,有没有一种方法可以将多个设置语句合并为一个?
这是我现在正在做的一个例子:
Application.Current.Resources[nameof(Fonts.CarouselheadingFontSize)] = 24;
Application.Current.Resources[nameof(Fonts.CarouselSubheadingFontSize)] = 36;
Application.Current.Resources[nameof(Fonts.ContentLabelTextFontSize)] = 13.5 * Fs;
private void SetResource(string keyName,object v)
{
Application.Current.Resources[keyName] = v;
}
像这样使用它:
SetResource(nameof(Fonts.ButtonLinkLabelTextFontSize),15 * Ms);
SetResource(nameof(Fonts.CarouselFooterFontSize),16);
但是有没有办法可以进一步简化此设置,如下所示:
SetResources((nameof(Fonts.ButtonLinkLabelTextFontSize),15 * Ms),(nameof(Fonts.CarouselFooterFontSize),16));
注意资源字典是
IDictionary<string,object>
解决方法
您可以将元组与 params
结合使用:
private void SetResources(params (string,object)[] resources)
{
foreach(var (key,value) in resources)
{
Application.Current.Resources[key] = value;
}
}
然后您可以这样称呼它(在您的示例中是如何使用的):
SetResources((nameof(Fonts.ButtonLinkLabelTextFontSize),15 * Ms),(nameof(Fonts.CarouselFooterFontSize),16));
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。