WPF TextBox - не скрывать выделение - PullRequest
0 голосов
/ 17 мая 2010

Текстовое поле WPF (System.Windows.Controls.TextBox), по-видимому, выделяет выделенный текст только тогда, когда он имеет фокус. Мне нужно, чтобы TextBox продолжал показывать выделение при потере фокуса.

В стандартном редакторе Win32 EDIT я мог добиться этого с помощью ES_NOHIDESEL . Как я могу получить эквивалент в WPF?

1 Ответ

2 голосов
/ 17 мая 2010

Вы можете обработать событие LostFocus и установить для аргумента события значение e.Handled = true. Таким образом, TextBox не будет знать, что он потерял фокус, и сохранит ваш выбор.

    private void myTextCtrl_LostFocus(object sender, RoutedEventArgs e)
    {
        e.Handled = true;
    }

Это даст вам нечто похожее на то, что вы ищете, но в отличие от способа Win32, оно все равно будет отображать ваш выбор выделенным цветом, а не темно-серым.

Если вы действительно хотите приложить усилия, вы можете написать XAML для <TextBox.SelectionBrush>.

Другой способ - использовать FocusManager , о этом методе можно прочитать здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...