在我的xamarin表单应用程序中,我想存储可以通过应用程序访问的所有颜色和字体信息。其中一种最明显的方法是在ResourceDictionary
中将其添加为app.xaml
。
的App.xaml
<ResourceDictionary>
<Color x:Key="Primary">#78909c</Color>
<Color x:Key="PrimaryDark">#4b636e</Color>
<Style TargetType="NavigationPage">
<Setter Property="BarTextColor" Value="{StaticResource NavigationText}" />
</ResourceDictionary>
我在示例应用程序中看到过这种实现,但我想知道企业级应用程序是否有效或更好的方法呢? 如果是这样,任何人都可以建议一个更好的方法和一些例子或来源背后的原因吗?
MODERATORS
我知道这个问题更多的是关于提出更好的方法并且没有正确和错误的答案,但我希望找到一种有效的方法或企业级实现。所以请不要将其标记为关闭。
答案 0 :(得分:1)
这实际上取决于背景以及您需要实现的目标。
您可能不希望在主app.xaml文件中包含颜色和字体的一个原因是可读性和可维护性。然而,这是非常主观的。
您可能想要分割颜色和字体的第二个原因是,如果您需要有条件地应用它们或它们属于Xamarin.Forms theme。
最后请注意,如果您确实需要多个资源字典,则可能需要查看Merged Dictionaries功能,该功能可从Xamarin.Forms 2.5开始提供(之前我必须自己动手!)。官方实施的作者的这个blog post也有更多的信息。