我有一个WPF窗口,我在其中设置了WindowStyle = None,allowsTransparency = true。我有一个可编辑的组合框和一个文本框,背景在窗口中是红色的。当我在Windows XP中运行应用程序时,文本框和组合框无法正确显示:
但是我设置了Combobox.Editable = False或者在Win7中运行这个应用程序,没有问题。为什么? 请帮帮我,谢谢!
我的环境: WinXP SP3 + .Net Framework 4.0
代码:
<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>
答案 0 :(得分:0)
根据评论中的讨论并查看发布的图片,似乎一切都变得透明
您可能将解决方法设置为Background
到StackPanel
,这可能会在控件中应用背景,因此它们看起来不透明。
例如
<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>
我没有尝试这种解决方法,因为我没有WinXP
机器。你可以尝试一下,看看是否有帮助。