WPF richtextbox选择问题

时间:2010-08-13 00:37:03

标签: wpf richtextbox

我的应用程序中有两个富文本框,一个在另一个下面。当用户在一个richtextbox中开始选择并继续到另一个richtextbox选择时,应该自动移动到第二个richtextbox.is有任何方法可以进行这种类型的选择。 / p> 提前谢谢, dhyanesh

1 个答案:

答案 0 :(得分:0)

您认为可以使用MouseEnterMouseLeave,但是当捕获鼠标时(就像在文本选择期间一样),这些事件不会按预期触发。

实现目标的方法是:

  1. 在第一个RichTextBox上订阅MouseMove
  2. MouseMove事件中,检查Mouse.Captured以查看它是否为RichTextBox。
  3. 如果捕获了鼠标,请使用VisualTreeHelper.HitTest对鼠标的当前位置进行命中测试。从HitTestResult.VisualHit的值向上看可视树,看看鼠标是否超过当前的RichTextBox。
  4. 如果鼠标位于新的RichTextBox上,请使用Mouse.Capture(null)取消鼠标捕获,然后在新的RichTextBox上触发MouseLeftButtonDown事件,以使其捕获鼠标并开始选择。