2016-03-09 51 views
1

我想創建一個資源文件,在這個文件中,我想分配一些顏色的值(以十六進制字符串)並在代碼中使用它們。當我們已經有一個resource.resx文件並且只是增加它的值時,WP 8.0 silverlight顯然很容易。但在Windows Phone 8.1 RT中,我不知道該怎麼做。請幫幫我!如何在Windows Phone 8.1 RT中將顏色代碼分配爲資源?

P/s:爲了說清楚,我們可以在Android上創建一個color.xml文件,然後在xml代碼中使用它,例如PrimaryColor或SecondaryColor,這是我的目的,僅限於Windows Phone 8.1 RT。謝謝!

回答

1

添加新ResourceDictionary,並在其中,你可以定義一個顏色:

<SolidColorBrush x:Key="MyColor">#3D3D3D"</SolidColorBrush> 

然後,你需要將它添加到App.xaml,使其全球訪問:

<Application.Resources> 
    <ResourceDictionary> 
     <ResourceDictionary.MergedDictionaries> 
      <ResourceDictionary Source="Common/Resources.xaml"></ResourceDictionary> 
     </ResourceDictionary.MergedDictionaries> 
    </ResourceDictionary> 
</Application.Resources> 

您可以訪問它XAML like:

<Border x:Name="myBorder" Background="{StaticResource MyColor}"> 
</Border> 

在C#中,您可以訪問像:

myBorder.Background = App.Current.Resources["MyColor"] as SolidColorBrush; 
+0

非常好,非常感謝! – iamatsundere181

1

創建XAML文件,ColorResource.xaml取決於你想要分配在何處以及如何可以使用

  • 顏色

ColorResource.xaml

<ResourceDictionary 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> 

    <SolidColorBrush x:Key="PrimaryColorBrush" Color="Transparent" /> 
    <Color x:Key="SecondaryColor">#FF00FF00</Color> 

</ResourceDictionary> 

包括要將字典使用它:

<Page.Resources> 
     <ResourceDictionary> 
      <ResourceDictionary.MergedDictionaries> 
       <ResourceDictionary Source="/ResourceDictionaries/ColorResource.xaml"/> 

你通常只用刷子

<Border Background="{StaticResource PrimaryColorBrush}" BorderThickness="1"> 

只有在極少數情況下會使用實際顏色

<ColorAnimation Duration="0" Storyboard.TargetName="myStory" Storyboard.TargetProperty="(Border.Background).(SolidColorBrush.Color)" To="{StaticResource SecondaryColor}"/> 

希望這幫助

+0

謝謝,但你上面的人回答得更快,抱歉沒有投票給你:'( – iamatsundere181

相關問題