C# wpf SystemColors не работает правильно
Я пытаюсь окрасить свое окно системными цветами, но когда я делаю это так:
<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" вместо этого, это также не будет принято в качестве значения vaild. Но тогда текст гласит: "MenuBarColorKey" не является допустимым значением.... "
Как я могу это исправить?
Спасибо за вашу помощь
Майкл
редактировать: @AwkwardCoder
Извините, читая уже несколько лет, я новичок в записи в stackru, поэтому я не могу комментировать или голосовать.
Вы правы. С кистью это работает. Большое спасибо!
Но я сослался на имена для утилиты из Зака Петерсона, как показано в
"wpf - Как мне использовать правильные системные цвета Windows?"
и там я не нашел расширение "Кисть". И эта утилита работает для меня.
2 ответа
Здесь есть 2 проблемы. Сначала вы хотите использовать 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
учебный класс