[英]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.