如何全局设置XAML中使用的背景颜色?

时间:2018-10-04 06:20:50

标签: xamarin xamarin.forms

我有此代码:

<StackLayout Padding="20"
   HorizontalOptions="CenterAndExpand" 
   VerticalOptions="CenterAndExpand" 
   BackgroundColor="Black" >

<Grid BackgroundColor="Black" >

在许多不同的地方重复相同的事情,所有这些都指定BackgroundColor相同。

有没有一种方法可以在一个地方指定此颜色,然后以某种方式绑定或引用该颜色?像这样:

<Grid BackgroundColor="{ TheBackgroundColor }" >

,然后仅在一个文件中设置TheBackgroundColor并全局使用。

1 个答案:

答案 0 :(得分:1)

您可以如下所示在App.xaml中定义要使用的所有颜色

<ResourceDictionary>
     <Color x:Key="TheBackgroundColor">#2196f3</Color>
</ResourceDictionary>

像这样在XAML中使用

<Grid BackgroundColor="{StaticResource TheBackgroundColor}">

在这样的背后使用代码

Application.Current.Resources["TheBackgroundColor"]

如果要设置多个值,请定义一种样式,并按照上面的注释所述使用它