Как связать цвет фона окна по умолчанию для темы с фоном окна?
Я пробовал следующее:
<Window x:Class="Shell"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Shell"
Height="300"
Width="300"
Background="{DynamicResource WindowBackgroundBrush}"
>
Но цвет фона отображается черным, и это не выглядит правильным при использовании темы Luna. Используя тему Luna, я ожидаю, что бежевый / коричневатый цвет часто встречается в Windows XP.
ОБНОВЛЕНИЕ: Прочитав ваши ответы, поиграв с StyleSnooper и подумав немного об этом, я пришел к следующему выводу:
Окно будет использовать SystemColors.WindowBrush в качестве цвета фона по умолчанию. Этот цвет белый в большинстве тем, которые я пробовал, и это, вероятно, хорошо. Я считаю, что белый цвет также является фоновым цветом окна в WinForms. Однако по умолчанию цвет фона формы в WinForms - это не фон окна, а элемент управления. Итак, если я хочу этот цвет, я использую SystemColors.ControlBrush
, как указано Lucas .
В какой-то момент я пытался получить коричнево-бежевый контрольный цвет WinForms в Windows XP. Это, вероятно, невозможно в Windows Vista, поскольку цвет управления в Vista немного серый. Запуск приложения WinForms в Windows Vista не отобразит его как бежевый / коричневатый, а серый. В этом случае я думаю, что мы должны применить наши собственные стили, чтобы добиться «оригинального» внешнего вида Windows XP в Vista.
Спасибо всем за помощь в этом!