【问题标题】:WPF TextBox - don't hide the selectionWPF TextBox - 不要隐藏选择
【发布时间】:2018-05-07 22:15:37
【问题描述】:

WPF 的文本框 (System.Windows.Controls.TextBox) 仅在获得焦点时才会突出显示选定的文本。当焦点丢失时,我需要让 TextBox 继续显示选择。

在标准的 Win32 EDIT 控件中,我可以使用ES_NOHIDESEL 来实现这一点。如何在 WPF 中获得等价物?

【问题讨论】:

    标签: wpf


    【解决方案1】:

    您可以处理 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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-21
      • 2021-12-18
      • 1970-01-01
      • 1970-01-01
      • 2013-05-06
      相关资源
      最近更新 更多