症状是这样的,不久前我开发一个项目,其主窗体使用xml展现,采用了透明窗体风格即--WindowStyle="None" Background="#00FFFFFF" AllowsTransparency="True",开始没有问题出现,以后我又为窗体增加了menu,过了一段时间之后问题出现了,窗体的弹出菜单变得非常模糊,不透明度非常低,一直不知道问题在哪里,把菜单template中的代码一一修改也没有找到问题,后来把window中的AllowsTransparency改成false,问题就解决了。然后又发现不仅仅是菜单受到影响,当AllowsTransparency=true时,combox的弹出下拉框也不可见(非常的透明)。
做了如下测试,结论:这不是个人人品或某台pc的问题,而是ms的bug!
1 此问题不总是出现,也就是说不是每次启动系统后都出现此问题,但是如果出现此问题那么除非再次重起或注销用户否则问题不会自动消失。
2 出现该问题的不是我一台机器,其他也遇到了。
3 不是因为代码复杂或有bug造成,很容易得此结论,因为当出现该问题时我建立了一个很简单的wpf项目进行测试,简单到只用了一个combox,window设置成AllowsTransparency="True",运行发现combox的下拉框不可见,重起一次机器问题消失,第2次重起机器问题又出现。
请大家也来试试,看看是不是ms的大bug!
<Window x:Class="TestAllowsTransparencyWindow.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300" SnapsToDevicePixels="False" AllowsTransparency="True" WindowStyle="None" Background="{x:Null}" ShowInTaskbar="False" IsEnabled="True">
<Grid SnapsToDevicePixels="True" Background="Chocolate" ClipToBounds="True">
<ComboBox Height="23" Margin="78,28,80,0" Name="comboBox1" VerticalAlignment="Top" MaxDropDownHeight="400" ClipToBounds="True" />
<Button Height="23" Margin="81,74,80,0" Name="button1" VerticalAlignment="Top" ClipToBounds="True">Button</Button>
</Grid>
</Window>
在线等高人答案了