问题描述
我有许多UserControls最终通过FrameworkElement :: OnRender()执行渲染。我绘制了自定义的拇指栏,突出显示的元素,按钮,并希望使控件能够响应活动主题。我使用MahApps.Metro,想知道如何在活动主题之外为某些功能添加当前颜色。
我现在不使用任何样式,因为我只是使用显式的画笔和笔将控件组合在一起,但是我意识到有必要朝那个方向移动。
如何组织笔和画笔来响应当前主题?
解决方法
有关主题颜色和画笔的mahapps Metro源代码可在此处找到:
所以简短的答案是,您应该对画笔和颜色使用DynamicResource表示法,然后尝试那里的键:
例如
<Rectangle Fill={DynamicResource MahApps.Brushes.Button.Flat.Background}"
我建议您做一些实验来检查画笔和颜色,这些画笔确实已设置在您打算使用的主题中,并且您的ui可以使用它们。