Ste*_*der 13 wpf resources styles textbox highlighting
WPF TextBox本身使用系统突出显示颜色来绘制所选文本的背景.我想覆盖它并使其保持一致,因为它因操作系统/用户主题而异.
对于ListBoxItems,有一个巧妙的技巧(见下文),您可以覆盖资源键以HighlightBrushKey在焦点设置中自定义系统突出显示颜色:
<Style TargetType="ListBoxItem">
<Style.Resources>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="LightGreen"/>
</Style.Resources>
</Style>
Run Code Online (Sandbox Code Playgroud)
TextBox不幸的是,同样的技巧并不适用.有没有人有任何其他的想法,除了"覆盖ControlTemplate"?
谢谢你的任何建议!
Nas*_*ash 11
正如Steve所说:注意:此行为似乎已添加到WPF 4中.
我碰到了同样的问题.
正如Dr.WPF所说
"在当前的.NET版本(3.0和3.5测试版)中完全不可能.控件被硬编码以使用系统设置......它根本不会查看控件模板."
http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/bbffa6e3-2745-4e72-80d0-9cdedeb69f7f/
从.NET 4开始, TextBoxBase.SelectionBrush
例如
<TextBox SelectionBrush="Red" SelectionOpacity="0.5"
Foreground="Blue" CaretBrush="Blue">
Run Code Online (Sandbox Code Playgroud)