locked
大家好我遇到一个问题--window 的AllowsTransparency属性好象有bug,怎样才能解决呢? RRS feed

  • 问题

  •  

    症状是这样的,不久前我开发一个项目,其主窗体使用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>

    2008年1月14日 2:08

答案

  • 的确有这个 bug ,如果你还在用 Beta 2 版本,请将 .NET Framework 3.5 更新到最新的 release 版本即可解决,或者重新下载安装 .NET Framework 3.5

    2008年1月15日 6:20
    版主

全部回复