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

时间:2012-01-10 10:12:14

标签: wpf textbox styling

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

我厌倦了选择必须具有的暗淡的不饱和色,以便看到黑色文字:

textbox selection comparison

这可以修复吗?

3 个答案:

答案 0 :(得分:7)

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

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

答案 1 :(得分:2)

.NET 4.8 中,您现在可以将 AppContext 标志 { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowOriginAccessIdentity", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity XXXXXXXXXXX" }, "Action": "s3:*", "Resource": "arn:aws:s3:::example-domain.com/*", "Condition": { "Bool": { "aws:SecureTransport": "true" } } } ] } 设置为 false

UseAdornerForTextboxSelectionRendering

然后使用新属性 <configuration> <runtime> <AppContextSwitchOverrides value="Switch.System.Windows.Controls.Text.UseAdornerForTextboxSelectionRendering=false"/> </runtime> </configuration> 来实现这一点

SelectionTextBrush

enter image description here

答案 2 :(得分:1)

也许您需要SelectionBrush?它是一个依赖属性。 (不确定它是否可用于.NET版本&lt; 4)。

要查找当前系统颜色,您可以使用SystemColors class

请在此处查看示例:WPF SystemColors: color of TextBox border