创建自己的系统颜色
基本上,我如何在静态类中创建自己的一组颜色,或者这样我可以这样做:
存在的是什么
<Setter ... Value="{DynamicResource {x:Static SystemColors.ControlBrushKey}}"/>
我想要的是:
<Setter ... Value="{DynamicResource {x:Static MyColors.Color1}}"/>
没有找到相关结果
已邀请:
3 个回复
田眯衅
作为键和值:
静态构造函数使用自身作为应用程序资源的键来添加颜色。 (
在内部对每个定义的颜色或画笔使用
,但是你无法访问该类(这是有意义的),或者如果你因使用该值作为自己的键而遇到问题,你可以继承
) 你可以像这样使用它:
如果您需要覆盖本地级别的密钥,您也可以这样做:
编辑:如果你有很多颜色,画笔和诸如此类的东西,你也可以使用反射来在构造函数中进行资源注册(我使用了字段,如果使用属性来公开数据,则需要稍微调整一下):
物崎巩
然后在您的XAML中,使用:
我花了10分钟试图让它与DynamicResource扩展一起工作,但我不能这样做。如果有人知道如何(或为什么),请告诉我们:)
诫商
例如在你的
中你做了:
因为静态字符串实际上只是用于强类型,我通常不创建这样的静态类,只使用我定义的任何键,所以这变成:
(我相信你也可以使用
中的强类型,但我现在不确定......) (也要注意使用
,你必须指定MyColors所在的命名空间,这样就变成了
)