我在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设置中选择的重音。
答案 0 :(得分:34)
首先,您需要在C#类的构造函数之前创建currentAccentColorHex:
public partial class MainPage : PhoneApplicationPage
{
Color currentAccentColorHex = (Color)Application.Current.Resources["PhoneAccentColor"];
// Constructor
public MainPage()
{
//...
然后在需要为控件设置颜色的地方使用它:控件MyControl的Background属性示例:
SolidColorBrush backColor = new SolidColorBrush(currentAccentColorHex);
MyControl.Background = backColor;
希望这个帮助
答案 1 :(得分:10)
感谢Spaso :)我做了更多的研究,在你的帮助下我提出了以下代码
var phoneAccentBrush = new SolidColorBrush((App.Current.Resources["PhoneAccentBrush"] as SolidColorBrush).Color);
答案 2 :(得分:0)
将其添加到xaml
的文本框中Foreground="{StaticResource PhoneAccentBrush}"
或从c#
设置btnDefault.Foreground = new SolidColorBrush((Color)Application.Current.Resources["PhoneAccentColor"]);