以编程方式获取手机重音刷c#

Isa*_*ran 14 windows-phone

我在xaml中有文本框

<TextBlock Style="{StaticResource PhoneTextExtraLargeStyle}" FontSize="{StaticResource PhoneFontSizeLarge}" FontFamily="{StaticResource PhoneFontFamilySemiLight}" Margin="12,10,12,0" />
Run Code Online (Sandbox Code Playgroud)

如何从windows phone 7/7.5/8的系统资源中以编程方式(c#)获取phoneaccentbrush的值,以便我可以设置前景色以匹配WP设置中选择的重音.

Spa*_*vic 34

首先,您需要在C#类的构造函数之前创建currentAccentColorHex:

public partial class MainPage : PhoneApplicationPage
{
    Color currentAccentColorHex = (Color)Application.Current.Resources["PhoneAccentColor"];

    // Constructor
    public MainPage()
    {          
        //...
Run Code Online (Sandbox Code Playgroud)

然后在需要为控件设置颜色的地方使用它:控件MyControl的Background属性示例:

SolidColorBrush backColor = new SolidColorBrush(currentAccentColorHex);
MyControl.Background = backColor;
Run Code Online (Sandbox Code Playgroud)

希望这有帮助


Isa*_*ran 10

谢谢Spaso :)我做了更多的研究,在你的帮助下,我提出了以下代码

var phoneAccentBrush =  new SolidColorBrush((App.Current.Resources["PhoneAccentBrush"] as SolidColorBrush).Color);
Run Code Online (Sandbox Code Playgroud)