首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于SystemColors的WPF通用颜色

基于SystemColors的WPF通用颜色
EN

Stack Overflow用户
提问于 2010-03-30 09:44:03
回答 1查看 942关注 0票数 3

我需要在我的应用程序中有一些通用的颜色,这些颜色是基于系统颜色的,这些颜色是根据活动主题变化的。因此,我相信我需要一些IValueConverters,当给一个系统颜色刷时,每个人返回一个刷。

但我该把逻辑放在哪里呢?在我看来,我可能有两个选择。

选项1)将SolidColorBrush(es)放在主题资源字典中,它绑定到某些系统颜色,并将它们转换为新的画笔(Es)。这是我尝试过的,而且看起来很有效,但是我如何从代码背后引用这些新的SolidColorBrush(es)。

选项2)创建一个类似于SystemColors类的类。我不太知道我是怎么做的。SystemResourceKey和SystemColors类中的笔刷之间的关系是什么?它们是如何联系的?

向你问好,杰斯珀

EN

回答 1

Stack Overflow用户

发布于 2011-05-01 07:14:21

1. .

代码语言:javascript
复制
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                    xmlns:local="clr-namespace:Test">
    <SolidColorBrush x:Key="Brush1" Color="Green"/>
</ResourceDictionary>
代码语言:javascript
复制
ResourceDictionary dict = new ResourceDictionary();
dict.Source = new Uri("pack://application:,,,/TestDictionary.xaml");
Brush brush1 = dict["Brush1"] as SolidColorBrush;

2.您不能使用SystemResourceKeys,它们是内部的,但是可以重用SystemColors类中的键来构建您的字典,您使用什么并不重要,密钥可以是任何对象,this question可能会感兴趣。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2544187

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档