我有一个透明的
Window
,它运行良好,但是TextBox
忽略了ClearType
。
RenderOptions.ClearTypeHint="Enabled"
已经设置,但是没有任何效果。除了AllowsTransparency="True"
和AllowsTransparency="True"
之外,没有其他的Effect、OpacityMask、VisualBrush、DrawingBrush、Clip或Opacity。
AllowsTransparency="True"
普通窗口上的AllowsTransparency="False"
Xaml示例
<Window x:Class="WpfApplication3.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Height="200"
Width="300"
Title="MainWindow"
AllowsTransparency="True"
WindowStyle="None">
<Window.Template>
<ControlTemplate>
<Grid Background="White"
Height="200"
Width="300"
RenderOptions.ClearTypeHint="Enabled"
TextOptions.TextRenderingMode="ClearType"
TextOptions.TextFormattingMode="Display">
<StackPanel VerticalAlignment="Center"
HorizontalAlignment="Center">
<Label>Lorem Ipsum Test</Label>
<TextBlock>Lorem Ipsum Test</TextBlock>
<TextBox Text="Lorem Ipsum"
Background="White" />
</StackPanel>
</Grid>
</ControlTemplate>
</Window.Template>
</Window>
有什么建议吗?这是一个无法解决的已知问题吗?
更新
使用 Snoop
工具,我发现了一个 TextBoxLineDrawingVisual
,也许它引起了问题?
TextBox
有一个普通的Background
。顺便问一下,为什么TextBlock
能工作? - punker76