我有一个Styles.xaml文件,我已经声明了各种颜色和样式。
<SolidColorBrush x:Key="MyColour" Color="#FFFF411E"/>
我想在代码中访问它,因为我有控件,我想将背景颜色绑定到对象中的Property。但是,这很容易实现,对象是根据对服务器调用的响应创建的,属性可以是多种颜色之一。我可以在代码中定义颜色,但是当我对XAML
中定义的其他控件使用相同的颜色时,我真的不想在应用程序中定义相同的颜色两次。所以我想要一种方法来访问代码中的SolidColorBrush
画笔,以便能够使用它。
任何想法都是如何做到的?
答案 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;