繁体   English   中英

在WPF文本框中显示选择文本,而没有关注它

[英]Showing selecting text in a WPF TextBox without ever giving focus to it

像这样有类似的问题,但是,它们最终都将重点放在了文本框上,而这正是我所不想要的。

基本上,我正在制作一个无模式的替换对话框,并且我希望能够选择其后的文本而无需关注文本框。 现在,我已经设置了IsInactiveSelectionHighlightEnabled ,使其显示,但是在显示第一个选择之前,我必须将焦点放在该框上。 之后,我可以更改选择,并且显示时不会给出焦点。

请注意,我永远不希望焦点集中在文本框上的主要原因是,当焦点丢失并重新获得焦点时,它会引起闪烁。 如果可以避免,它将同样有效。

这是我正在使用的将导致闪光

TextContent.Select(start_idx, len);
TextContent.Focus();
this.Focus();

谢谢。

我认为关键在于您提到的“此后,我可以更改选择,并且显示时不会给出焦点”。

我创建了一个测试应用程序,重新创建了闪烁的问题。 在父窗体中的InitializeComponent()之后,我创建了一个虚拟选择,对TextBox进行了聚焦,然后将焦点转移到其他位置。 像这样:

TextContent.Select(0, 0);
TextContent.Focus();
Button1.Focus();

然后,当启动无模式对话框并在TextBox上更改选择时,它将起作用而无需将焦点放在TextBox上,因此避免了第一个选择上的闪烁。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM