簡體   English   中英

如何在Windows Phone 8.1 RT中將顏色代碼分配為資源?

[英]How to assign a color code as a resource in Windows Phone 8.1 RT?

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

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

添加新的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中訪問它:

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

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

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

創建一個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}"/>

希望這可以幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM