在我的xamarin forms应用程序中,我希望存储可以通过应用程序访问的所有颜色和字体信息。最明显的方法之一是将它们作为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>
我在示例应用程序中见过这种实现,但我想知道,对于企业级应用程序,它们有没有更有效或更好的方法来实现它?如果是这样的话,有没有人能建议一个更好的方法和一些例子或来源来说明背后的原因?
版主
我知道这个问题更多的是关于问一个更好的方法,没有正确和错误的答案,但我想找到一个有效的方法或企业级实现。因此,请不要将其标记为关闭。
发布于 2018-06-04 06:49:56
这真的取决于上下文和你需要实现的目标。
您可能不希望在主app.xaml文件中包含颜色和字体的原因之一是可读性和可维护性。然而,这是相当主观的。
您可能希望拆分颜色和字体的第二个原因是,如果您需要有条件地应用它们,或者它们属于某个Xamarin.Forms theme。
最后请注意,如果您确实需要多个资源字典,则可能需要查看Merged Dictionaries特性,该特性从Xamarin.Forms 2.5开始可用(我以前不得不使用自己的特性!)。这个blog post由作者的官方实现也有更多信息。
https://stackoverflow.com/questions/50612203
复制相似问题