【问题标题】:Windows Store App - XAML - C# - Access ThemeResource in codeWindows 应用商店应用程序 - XAML - C# - 在代码中访问 ThemeResource
【发布时间】:2014-06-11 18:39:35
【问题描述】:
我有一个 Styles.xaml 文件,其中声明了各种颜色和样式。
<SolidColorBrush x:Key="MyColour" Color="#FFFF411E"/>
我想在代码中访问它,因为我有控制权并且我想将背景颜色绑定到对象中的属性。然而,这很容易做到,对象是从对服务器调用的响应中创建的,并且该属性可以是多种颜色中的一种。我可以在代码中定义颜色,但是因为我对XAML 中定义的其他控件使用相同的颜色,所以我真的不想在应用程序中定义相同的颜色两次。所以我想要一种能够在代码中访问SolidColorBrush刷子以便能够使用它的方法。
你知道怎么做吗?
【问题讨论】:
标签:
c#
xaml
windows-store-apps
【解决方案1】:
试试这个..
Application.Current.Resources[ "MyColour" ] as SolidColorBrush
【解决方案2】:
首先,您的 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;