Windows应用商店应用 - XAML - C# - 在代码中访问ThemeResource

时间:2014-06-11 10:15:44

标签: c# xaml windows-store-apps

我有一个Styles.xaml文件,我已经声明了各种颜色和样式。

    <SolidColorBrush x:Key="MyColour" Color="#FFFF411E"/>

我想在代码中访问它,因为我有控件,我想将背景颜色绑定到对象中的Property。但是,这很容易实现,对象是根据对服务器调用的响应创建的,属性可以是多种颜色之一。我可以在代码中定义颜色,但是当我对XAML中定义的其他控件使用相同的颜色时,我真的不想在应用程序中定义相同的颜色两次。所以我想要一种方法来访问代码中的SolidColorBrush画笔,以便能够使用它。

任何想法都是如何做到的?

2 个答案:

答案 0 :(得分:6)

试试这个..

 Application.Current.Resources[ "MyColour" ] as SolidColorBrush 

答案 1 :(得分:0)

首先,您应该在xaml或file.cs中拥有ResourceDictionary。

xaml:<ResourceDictionary Source="Styles.xaml"/>

代码:Resources.MergedDictionaries.Add(new ResourceDictionary { Source = new Uri(@"/" + this.GetType().Assembly.GetName().Name + ";component/" + @"Styles.xaml", UriKind.Relative) });

然后您可以像这样访问它

SolidColorBrush mycolor = Resources["MyColour"] as SolidColorBrush;