如何在C#中使用SolidColorBrush的XAML资源?

时间:2014-04-08 17:05:23

标签: c# xaml winrt-xaml

我在App.XAML文件中定义资源:

 <SolidColorBrush x:Key="ActivePanelBackgBrush" Color="#FF77FF83"/>

 <SolidColorBrush x:Key="NonActivePanelBackgBrush" Color="#FFFF7777"/>

在我的C#代码中,我想将网格的背景设置为该颜色。我该怎么做?

THX

1 个答案:

答案 0 :(得分:3)

您可以从App.xaml中的Resources获取对象:

 var brush = Application.Current.Resources["NonActivePanelBackgBrush"] as SolidColorBrush;

并在您想要的地方使用它:

 Grid1.Background = brush;

或者,您可以使用FindResource。 但是,WinRT似乎缺少WPF熟悉的FindResource函数。你可以使用this扩展方法。(遗憾的是我还没有测试过它)

Grid1.Background = FindResource("NonActivePanelBackgBrush") as SolidColorBrush;