[WindowsPhone] 取得系統輔色(Accent Color),套用圖片

2014-03-26

最近有朋友問我這個問題,想說解答一下..

在Windows Phone 系統中,可以設定自己的輔色像是這樣

wp_ss_20140326_0004

我們在寫程式的時候要如何應用呢?讓我們的字形或是圖片可以套用,我們這邊做個簡單的範例

b1

一個TextBlock 叫做tbSysColor 然後一個Rectangle 叫做 rectangle1 並且裡面有包含一張圖,其中我們tbSysColor呈現系統輔色,並且列出色瑪,至於那張圖

无命名

三個點都是黑色的,其餘部分是透明,我們看一下

XAML CODE:

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<TextBlock x:Name="tbSysColor" HorizontalAlignment="Left" Margin="10,10,0,0" TextWrapping="Wrap" Text="系統顏色" VerticalAlignment="Top" FontSize="40"/>

<Rectangle Fill="White" Height="100" Width="100" x:Name="rectangle1">
<Rectangle.OpacityMask>
<ImageBrush ImageSource="Assets\more.png" />
</Rectangle.OpacityMask>
</Rectangle>
</Grid>

之後我們在C# 端 可以透過  (System.Windows.Media.Color)Application.Current.Resources["PhoneAccentColor"] 來取得系統輔色

C# Code :

public MainPage()
{
InitializeComponent();
var color = (System.Windows.Media.Color)Application.Current.Resources["PhoneAccentColor"];

tbSysColor.Text = "系統顏色:"+color.ToString();
tbSysColor.Foreground = new SolidColorBrush(color);
rectangle1.Fill =new SolidColorBrush(color);
}

執行結果:
當輔色為藍色:
wp_ss_20140326_0006
wp_ss_20140326_0007

當輔色為紅色:
wp_ss_20140326_0004

wp_ss_20140326_0005

不難吧,給需要的朋友參考一下
source code:


當麻許的超技八 2014 | Donma Hsu Design.