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

本文关键字:SolidColorBrush XAML 资源 | 更新日期: 2023-09-27 17:57:37

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

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

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

Thx

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

您可以从App.xaml中的资源中获取对象,如下所示:

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

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

 Grid1.Background = brush;

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

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