[英]Window background color: appears darker than specified?
我正在尝试使用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”); 然后运行表单,我仍然得到设计师显示的不正确的颜色......是什么给...
颜色代码的第一个字节,'48'是一个alpha值,所以你允许在你的Window上进行alpha混合(不是“Windows Form”btw,这是一种不同的技术;)),这意味着你的颜色窗口将与其背后的东西的颜色混合。
尝试更改为: #FF00A8A6
,看看是否能提供更好的结果。
您的问题是在背景颜色中包含Alpha通道 (即#AARRGGBB
)。 在设计师中,你看到的背景是针对VS中的背景颜色(在我的情况下为白色)中进行合成,与单独运行时相比,它会“减轻”背景。
要自己查看,请尝试Background="#00A8A6"
,或者您可以尝试添加AllowsTransparency="True"
(但这有一个繁琐的WindowStyle.None
要求 )。
这可能是因为你的颜色中的alpha分量。 如果您尝试使窗口透明,则必须使用AllowsTransparency="True"
。 如果不这样做,WPF会将默认的窗口背景颜色与您的Windows背景合并。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.