Цвет фона окна: выглядит темнее, чем указано? - PullRequest
3 голосов
/ 22 сентября 2011

Я пытаюсь поиграть с цветами в WPF и цветом фона формы.Не делая НИЧЕГО (если нет кода, производного от другого класса и т. Д.), Я создаю совершенно новую форму Windows по умолчанию.Я изменяю фон на светло-голубой.Сохраните форму.Запустите программу и откройте эту форму. Форма отображается в каком-то другом, гораздо более темном цвете, как будто она даже не соблюдает XAML

<Window x:Class="MyProjectNamespace.AnotherWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="AnotherWindow" Height="300" Width="300" Background="#4800A8A6">
    <Grid>

    </Grid>
</Window>

Кроме того, если я попытаюсь принять то же значение фона # 4800A8A6и попробуйте создать кисть и сделать BrushConverter.ConvertFrom ("# 4800A8A6");и запустить форму, я по-прежнему получаю неправильный цвет, как отображается через дизайнер ... что дает ...

Ответы [ 3 ]

5 голосов
/ 22 сентября 2011

Первый байт вашего цветового кода, '48', является альфа-значением, поэтому вы разрешаете альфа-смешение для вашего окна (не «Форма Windows», кстати, это другая технология;)), что означаетцвет вашего окна будет смешан с цветами вещей позади него.

Попробуйте изменить на: #FF00A8A6, посмотрите, даст ли это лучший результат.

3 голосов
/ 22 сентября 2011

Ваша проблема - включение альфа-канала в цвет фона (то есть #AARRGGBB).В конструкторе вы видите, что фон скомпонован с любым фоновым цветом в VS (в моем случае - белым), что «осветлит» фон по сравнению с тем, когда вы запускаете его как автономный.убедитесь сами, попробуйте Background="#00A8A6", или вы можете попробовать добавить AllowsTransparency="True" (но это обременительное требование WindowStyle.None).

2 голосов
/ 22 сентября 2011

Это, вероятно, из-за альфа-компонента в вашем цвете.Если вы пытаетесь сделать ваши окна прозрачными, вы должны использовать AllowsTransparency="True".Если этого не сделать, WPF объединит цвет фона окон по умолчанию с фоном окон.

...