在Xaml中列出<color>

时间:2017-05-09 18:00:18

标签: xaml xamarin xamarin.forms

我在Xaml中定义了我的列表。

  <ContentPage.Resources>
    <ResourceDictionary>
      <local:FileName x:Key="fileName">
        <Color>#3599B8</Color>
        <Color>#374649</Color>
        <Color>#FD625E</Color>
        <Color>#F2C80F</Color>
      </local:FileName> 
    </ResourceDictionary>
  </ContentPage.Resources>

FileName在这样的代码中定义。

public class FileName : List<Color>
    {

    }

我想将其定义为像这样的资源

,而不是直接设置颜色值
<Color x:Key="BasicColorSchemeBlue">#3599B8</Color>

并使用它。

有关如何执行此操作的任何建议。

提前致谢。

2 个答案:

答案 0 :(得分:0)

我在一个正在运行的App上做过这样的事情。 这包含在App.xaml中:

<Color x:Key="COLOR_NAME">#ffffff</Color>

要从.cs文件访问颜色,请使用:

(Color)ResourceFinder.FindResource("COLOR_NAME");

或者在xaml文件中使用StaticResource或DynamicResource。

答案 1 :(得分:0)

  

GradientColors是颜色的数组。

 <?xml version="1.0" encoding="utf-8"?>
    <ContentPage xmlns="http://xamarin.com/schemas/2014/forms" 
                 xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" 
                 xmlns:local="clr-namespace:GradientTest"
                 xmlns:s="clr-namespace:System;assembly=mscorlib"
                 x:Class="GradientTest.GradientTestPage">
        <StackLayout Padding="20, 40, 20, 20">
            <local:GradientViewRender HorizontalOptions="Center" 
                                      WidthRequest="300" 
                                      HeightRequest="50" 
                                      x:Name="gradientView">

                <local:GradientViewRender.GradientColors>
                    <x:Array Type="{x:Type Color}"> 
                        <Color>#5FC900</Color>
                        <Color>#0FF2C8</Color> 
                    </x:Array>
                </local:GradientViewRender.GradientColors>
            </local:GradientViewRender>
        </StackLayout>
    </ContentPage>