XAML窗口allowtransparent =True和ComboBox.IsEditable=True在WinXP中
本文关键字:True WinXP IsEditable 窗口 allowtransparent XAML ComboBox | 更新日期: 2023-09-27 18:12:51
我有一个WPF窗口,在其中我设置了WindowStyle=None, allowstrtransparency =true。我有一个可编辑的组合框和一个文本框,背景是红色的窗口。当我在Windows XP中运行应用程序时,文本框和组合框不能正确显示:
- TextBox的背景变为透明
- 文本框的文本消失
- ComboBox的边框消失
但是我设置了Combobox。可编辑=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>
根据评论中的讨论,看看发布的图片,似乎一切都变得透明了
你也许可以作为一个解决方案,将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
机器。你可以试一试,看看是否有帮助。