当鼠标悬停在AvalonEdit中的特定文本上时,如何触发事件?

时间:2018-08-06 16:09:02

标签: wpf avalonedit

我有一个基于AvalonEdit WPF的应用程序。

当用户将鼠标悬停在编辑器中的特定文本上时,我想定义一种特定的行为,类似于使用Python tag_binding的{​​{1}}。

我在Google周围搜索,找不到任何方法。

这怎么办?

1 个答案:

答案 0 :(得分:0)

我在这里http://community.sharpdevelop.net/forums/p/9113/25353.aspx

找到了类似的东西

要点似乎是在此时(2010年!),尚无直接方法可以做到,但是给出了以下提示。

  

没有内置的工具提示支持,但很久以前,我已经添加了   TextEditor.MouseHover事件,可用于显示工具提示。

示例代码:

    ToolTip toolTip = new ToolTip();

    void TextEditorMouseHover(object sender, MouseEventArgs e)
    {
        var pos = textEditor.GetPositionFromPoint(e.GetPosition(textEditor));
        if (pos != null) {
            toolTip.PlacementTarget = this; // required for property inheritance
            toolTip.Content = pos.ToString();
            toolTip.IsOpen = true;
            e.Handled = true;
        }
    }

    void TextEditorMouseHoverStopped(object sender, MouseEventArgs e)
    {
        toolTip.IsOpen = false;
    }