WPF的TextBox(System.Windows.Controls.TextBox)只有在具有焦点时才会突出显示所选文本。当焦点丢失时,我需要让TextBox继续显示选择。
在标准的Win32 EDIT控件中,我可以使用ES_NOHIDESEL实现此目的。如何在WPF中获得等效内容?
答案 0 :(得分:2)
您可以处理LostFocus事件并将事件arg设置为e.Handled = true
。通过这种方式,TextBox不会知道它会失去焦点,并会保留您的选择。
private void myTextCtrl_LostFocus(object sender, RoutedEventArgs e)
{
e.Handled = true;
}
这将为您提供与您所寻找的类似的东西,但与Win32方式不同,它仍然会以突出显示的颜色而不是深灰色显示您的选择。
如果你真的想要付出努力,你也可以为<TextBox.SelectionBrush>
编写XAML。
另一种方法是使用FocusManager,您可以阅读this method here。