c#wpf SystemColors没有';工作不正常
本文关键字:工作 不正常 SystemColors 没有 c#wpf | 更新日期: 2023-09-27 18:24:41
我试图用系统颜色给我的窗口上色,但当我这样做时:
<Menu
Width="Auto"
Height="20"
Background="{DynamicResource {x:Static SystemColors.MenuBarColor}}"/>
我得到一个8位数的六进制数。我的程序只接受3或6个数字作为颜色。执行程序总是会显示错误消息
System.Windows.Markup.XamlParseException: Zeilennummer "11" und Zeilenposition "4"
von "Beim Festlegen der Eigenschaft" System.Windows.Controls.Panel.Background
"wurde eine Ausnahme ausgelöst.". ---> System.ArgumentException: "#FFF0F0F0" ist
kein gültiger Wert für die Eigenschaft "Background".
如果我使用"MenuBarColorKey",它也不会被接受为无效值。但随后文本显示"MenuBarColorKey"不是有效值……"
我该如何更正?
感谢您的帮助
Michael
编辑:@尴尬的编码
很抱歉,我已经读了几年书了,我是斯塔科弗洛写作的新手,所以我不能发表评论或投票。
你是对的。用刷子就可以了。非常感谢!
但我提到了公用事业的名字Zack Peterson如所示
"wpf-如何使用正确的Windows系统颜色?"
在那里我没有找到"Brush"的扩展名。这个实用程序适用于我。
这里有两个问题。首先,您希望将Color
用作Brush
属性,然后尝试将Color
用作资源密钥。
如果您想将其用作资源,则需要使用SystemColors.MenuBarBrushKey
Background="{DynamicResource {x:Static SystemColors.MenuBarBrushKey}}"
或者你可以直接使用它,然后你应该使用SystemColors.MenuBarBrush
Background="{x:Static SystemColors.MenuBarBrush}"
你会发现SystemColors
为每种颜色的提供了4个静态属性
XxxxColor
为您提供Color
结构XxxxColorKey
为您提供ResourceKey
到Color
的结构XxxxBrush
为您提供SolidColorBrush
类XxxxBrushKey
为您提供ResourceKey
到SolidColorBrush
类
根据MSDN页面,没有MenuBarColor
,有MenuBarBrush