如何使用C#代码隐藏从XAML工具包中的“材料设计”中检索其中一个托盘刷?

时间:2019-02-12 15:55:30

标签: c# wpf material-design-in-xaml

我可悲的尝试去找一个:

MaterialDesign.Themes.Wpf.Current.Brushes.MaterialDesignBody

(当然不行。)

有关刷子的文档为here。画笔本身似乎位于here;我可以用xaml到达它们,但不知道如何用C#到达它们。

如果有人知道哪个画笔可以控制文本颜色,我也将不胜感激。从当前选择的主题中获取画笔的奖励点。

2 个答案:

答案 0 :(得分:2)

这些是资源。

FrameworkElement中,您可以使用FindResource方法检索一个:

SolidColorBrush MaterialDesignBody = FindResource("MaterialDesignBody") as SolidColorBrush;

您还可以使用TryFindResource类的Application方法:

SolidColorBrush MaterialDesignBody = Application.Current.TryFindResource("MaterialDesignBody") as SolidColorBrush;

这将为您提供当前选定主题的笔刷,前提是您已将其合并到App.xaml文件中,例如:

<ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Dark.xaml" />

答案 1 :(得分:1)

由于将资源插入到应用程序资源字典中,因此将执行以下操作:

Application.Current.TryFindResource("PrimaryHueLightBrush")