TextBox选择可以用不同的字体颜色设置样式吗?

Rom*_*kov 8 wpf textbox styling

样式是WPF的一大特色.当然可以使文本框看起来与操作系统文本框完全相同吗?

我已经厌倦了选择必须具有的暗淡的去饱和颜色,以便可以看到黑色文本:

文本框选择比较

这可以解决吗?

H.B*_*.B. 7

不幸的是,它可能是不可能的,选择突出显示是通过一个重叠的矩形(很棒的想法,不是吗?),这使得很难在保留文本可读性的同时获得所需的选择背景颜色.(尝试设置SelectionOpacity1)

此外,所选文本部分似乎没有样式,因此也不容易改变选择的前景色.

  • 我的上帝你是对的.谁想出了这个?...对比度已经很低了,事实证明文字甚至不是完全黑的! (3认同)

Fre*_*lad 3

.NET 4.8中,您现在可以将 AppContext 标志设置UseAdornerForTextboxSelectionRendering为 false

<configuration>
    <runtime>
        <AppContextSwitchOverrides value="Switch.System.Windows.Controls.Text.UseAdornerForTextboxSelectionRendering=false"/>
    </runtime>
</configuration>
Run Code Online (Sandbox Code Playgroud)

然后使用新属性SelectionTextBrush来实现此目的

<TextBox Text="Test WPF TextBox"
         SelectionBrush="#1174E6"
         SelectionTextBrush="White"/>
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述