如何在没有焦点的情况下突出显示/选择 wpf 文本框中的文本?

Posted

技术标签:

【中文标题】如何在没有焦点的情况下突出显示/选择 wpf 文本框中的文本?【英文标题】:how to highlight/select text in a wpf textbox without focus? 【发布时间】:2012-08-19 03:56:27 【问题描述】:

我想在 wpf 文本框中突出显示选定的文本,而文本框没有聚焦。在我的应用程序中,我的文本框永远不会获得焦点,并且每个键输入都是手动完成的。

我想知道是否有办法在文本框未聚焦时突出显示选定的文本?

任何帮助将不胜感激!

【问题讨论】:

如果文本框永远无法获得焦点,您如何手动键入? How to keep WPF TextBox selection when not focused? 的可能重复项 @Blam : 我设置了文本框的文本。 @H.B. : 我已经查过了。问题是我的文本框永远不会得到焦点。您提到的线程中的解决方案是针对失去焦点的文本框,我从来没有得到一个,所以它永远不会引发 lostFocus() 事件。我可能需要一种方法来绕过选择和突出显示文本的正常过程。 @user1340852:虽然这是同一个问题,但就重复而言,这才是最重要的。 【参考方案1】:

你可以使用下面的代码来达到你的目的:

textBoxToHighlight.Focus();
textBoxToHighlight.Select(0, textBoxToHighlight.Text.Length);

希望这会有所帮助。

【讨论】:

这是有焦点的,但问题是 - “没有焦点”【参考方案2】:

另一种选择:

textBoxName.SelectAll();

【讨论】:

【参考方案3】:

我真的很喜欢这种类型的选择:

textbox.Focus();
textbox.SelectionStart = 0;
textbox.SelectionLength = textbox.Text.Lenght;

【讨论】:

以上是关于如何在没有焦点的情况下突出显示/选择 wpf 文本框中的文本?的主要内容,如果未能解决你的问题,请参考以下文章

如何更改 WPF 文本框的突出显示文本颜色?

如何在 WinRT/UWP RichEditBox 中保持突出显示的文本失去焦点?

即使焦点在其他对话框上,我们如何才能使 Cedit 控件文本突出显示?

在 WPF 中加载的控件上显示焦点元素

当它有焦点时突出显示ios文本框的简单方法?

TextBox - 当它失去焦点时,我可以保持选择突出显示吗?