Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# XAML窗口AllowTransparency=True和ComboBox.IsEdit=True会导致WinXP中出现显示错误_C#_Wpf_Xaml_Combobox - Fatal编程技术网

C# XAML窗口AllowTransparency=True和ComboBox.IsEdit=True会导致WinXP中出现显示错误

C# XAML窗口AllowTransparency=True和ComboBox.IsEdit=True会导致WinXP中出现显示错误,c#,wpf,xaml,combobox,C#,Wpf,Xaml,Combobox,我有一个WPF窗口,我在其中设置了WindowStyle=None,allowTransparency=true。我有一个可编辑的组合框和一个背景为红色的文本框。在Windows XP中运行应用程序时,文本框和组合框无法正确显示: 文本框的背景更改为透明 文本框的文本消失 组合框的边框消失 但是我设置Combobox.Editable=False或者在Win7中运行这个应用程序,没有问题。为什么? 请帮帮我,谢谢 我的环境: WinXP SP3+.Net Framework 4.0 代码: 根据

我有一个WPF窗口,我在其中设置了WindowStyle=None,allowTransparency=true。我有一个可编辑的组合框和一个背景为红色的文本框。在Windows XP中运行应用程序时,文本框和组合框无法正确显示:

文本框的背景更改为透明 文本框的文本消失 组合框的边框消失 但是我设置Combobox.Editable=False或者在Win7中运行这个应用程序,没有问题。为什么? 请帮帮我,谢谢

我的环境: WinXP SP3+.Net Framework 4.0

代码:


根据评论中的讨论和发布的图片,似乎一切都变得透明了

作为一种解决方法,您可以将背景设置为StackPanel,这可以将背景应用于其中的控件,使其看起来不透明

乙二醇


我没有尝试这种解决方法,因为我没有WinXP机器。您可以尝试一下,看看是否有帮助。

是否有任何异常或错误消息?或者应用程序只是崩溃?并没有异常,并没有错误消息,应用程序并没有崩溃。只是文本框和组合框显示不正确。你说的显示不正确是什么意思?也许你可以发布一些正确和错误显示的图片。我这里没有WinXP,所以我不能自己尝试,但也许我可以帮你找出原因和解决方法。我没有足够的声誉来发布图片。。。你能访问这个图片链接吗:我试过了,但没有效果。TextBox仍然是透明的。让我们看看我是否能找到一台win xp机器,在那之前,你可以尝试找出一些windows API来设置TextBox窗口的样式。@LiXiang我想你碰到了这里提到的一个bug。尝试此修补程序,看看是否可以解决您的问题。谢谢您的回复。我发现这个修补程序包含在SP3中。我已经安装了SP3,但它并没有解决我的问题。我想你可能会在WinXP中使用Clip而不是AllowTransparency。
<Window x:Class="WpfApplication5.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="200" Width="300"
        AllowsTransparency="True"
        WindowStyle="None"
        Background="White">
    <StackPanel>
        <TextBox Text="aaa" Height="30" Background="Red"></TextBox>
        <ComboBox IsEditable="True" Height="30">
            <ComboBoxItem>aaa</ComboBoxItem>
            <ComboBoxItem>bbb</ComboBoxItem>
            <ComboBoxItem>ccc</ComboBoxItem>
        </ComboBox>
    </StackPanel>
</Window>
<StackPanel Background="White">
    <TextBox Text="aaa"
             Height="30"
             Background="Red"></TextBox>
    <ComboBox IsEditable="True"
              Height="30">
        <ComboBoxItem>aaa</ComboBoxItem>
        <ComboBoxItem>bbb</ComboBoxItem>
        <ComboBoxItem>ccc</ComboBoxItem>
    </ComboBox>
</StackPanel>