Windows phone 用c语言编程获取手机重音刷#

Windows phone 用c语言编程获取手机重音刷#,windows-phone,Windows Phone,我有xaml中的文本框 <TextBlock Style="{StaticResource PhoneTextExtraLargeStyle}" FontSize="{StaticResource PhoneFontSizeLarge}" FontFamily="{StaticResource PhoneFontFamilySemiLight}" Margin="12,10,12,0" /> 如何从windows phone 7/7.5/8的系统资源中以编程方式(c#)获取ph

我有xaml中的文本框

<TextBlock Style="{StaticResource PhoneTextExtraLargeStyle}" FontSize="{StaticResource PhoneFontSizeLarge}" FontFamily="{StaticResource PhoneFontFamilySemiLight}" Margin="12,10,12,0" />


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

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

然后在需要为控件设置颜色的任何位置使用它:例如控件MyControl的背景属性:

SolidColorBrush backColor = new SolidColorBrush(currentAccentColorHex);
MyControl.Background = backColor;
希望这些帮助

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

var phoneAccentBrush =  new SolidColorBrush((App.Current.Resources["PhoneAccentBrush"] as SolidColorBrush).Color);

将其添加到xaml的文本框中

Foreground="{StaticResource PhoneAccentBrush}"
或者从c开始设置#


有趣。我故意避免不向您发送像您这样的代码,只是为了更清楚发生了什么。好的,这两个代码都有效。Spaso首先对您提供解决方案投了赞成票。我在上面的代码行中遇到错误“找不到具有给定密钥的资源”。我还在一个共享代码项目中尝试这一点,因此我可以在手机和平板电脑应用程序之间共享代码。不确定这是否重要。不幸的是,应用程序必须在使用此方法更改主题后重新启动。否则,旧的主题值将从Ressource字典中取出。
Foreground="{StaticResource PhoneAccentBrush}"
btnDefault.Foreground = new SolidColorBrush((Color)Application.Current.Resources["PhoneAccentColor"]);