- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要在我的应用程序中使用一些通用颜色,这些颜色基于系统颜色,这些颜色根据事件主题而变化。所以我相信我需要一些 IValueConverters,每个 IValueConverters 在给定系统颜色画笔时返回一个画笔。
但是我应该把逻辑放在哪里呢?在我看来,我可能有 2 个选择。
选项 1) 将 SolidColorBrush(es) 放在主题资源字典中,它绑定(bind)到一些系统颜色并将它们转换为新的 Brush(es)。这我已经尝试过并且似乎有效,但是我如何从代码隐藏中引用这些新的 SolidColorBrush(es)。
选项 2) 创建一个类似于 SystemColors 类的类。我不太清楚我是怎么做到的。 SystemColors类中的SystemResourceKey和Brush是什么关系?它们是如何连接的?
最好的问候,杰斯珀
最佳答案
1. 例如
<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>
ResourceDictionary dict = new ResourceDictionary();
dict.Source = new Uri("pack://application:,,,/TestDictionary.xaml");
Brush brush1 = dict["Brush1"] as SolidColorBrush;
2. 您不能使用 SystemResourceKeys
,它们是内部的,但可能会重用 SystemColors 类中的键来构建您的字典,您使用什么并不重要使用,键可以是任何对象,this question可能会感兴趣。
关于基于 SystemColors 的 WPF 通用颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2544187/
我试图在 WPF ListBox 中隐藏指示选择的视觉提示。 This answer建议这应该通过覆盖 ListBox 的 SystemColors 来工作。 我创建了一个新的 WPF 项目并像这样编
我们正在设计一个 winforms 应用程序,为了使其外观与系统主题相匹配,我们试图将自己限制在 SystemColors 中的颜色。类(class)。但是,有时在不知道它们在不同主题中对应什么颜色的
过去,每当我在 Windows 开发中需要 Windows 颜色时,我都会从 SystemColors Class 中选择, 这是 System.Windows 的一部分命名空间。 今天,完全是错误的
我需要在我的应用程序中使用一些通用颜色,这些颜色基于系统颜色,这些颜色根据事件主题而变化。所以我相信我需要一些 IValueConverters,每个 IValueConverters 在给定系统颜色
我正在尝试通过在 NSViewController 中切换暗/亮模式来更改图像的颜色。 我正在使用此代码更改图像的颜色: - (NSImage *)image:(NSImage *)image wit
查看可用于 WPF 的各种开源主题,我有点惊讶地发现颜色未映射到系统颜色。因此,如果您更改整体系统配置,这些主题将不会更改以适应。 是否有正确使用系统颜色的主题,如果有,如何编写利用这些颜色的按钮样式
编辑:根据下面的对话,我感到困惑的是并非所有系统颜色都与旧操作系统兼容,在我的情况下,标签和系统背景颜色仅适用于 iOS13,这需要回退。现在说得通了。 我有一个支持 iOS11 的应用程序,但我想为
我的自定义网格控件中有一个线条颜色属性。我希望它默认为 Drawing.SystemColors.InactiveBorder。我试过: [DefaultValue(typeof(System.Dra
.NET 框架包含定义所谓“系统颜色”的类。对于 WinForms,它是 System.Drawing.SystemColors对于 WP*,它是 System.Windows.SystemColor
我目前正在尝试覆盖 WPF 系统颜色。来自 here我发现这可以通过创建一个新的 SolidColorBrush 资源来完成,例如使用键 x:Key="{x:Static SystemColors.W
据我所知,一个在 VS 2013 中构建的简单 WPF 应用似乎为各种 UI 元素使用 SystemColors。例如,当鼠标悬停在选项卡控件中未选中的选项卡上时,该选项卡似乎采用 MenuHighl
我是一名优秀的程序员,十分优秀!