WPF TextBox - 不隐藏选择

时间:2010-05-16 21:59:42

标签: wpf

WPF的TextBox(System.Windows.Controls.TextBox)只有在具有焦点时才会突出显示所选文本。当焦点丢失时,我需要让TextBox继续显示选择。

在标准的Win32 EDIT控件中,我可以使用ES_NOHIDESEL实现此目的。如何在WPF中获得等效内容?

1 个答案:

答案 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