Как вызвать событие при наведении курсора мыши на определенный текст в AvalonEdit?

У меня есть AvalonEdit Приложение на основе WPF.

Я хочу определить конкретное поведение, когда пользователь наводит курсор мыши на определенный текст в редакторе, аналогично tag_binding с питоном tkinter,

Я гуглил вокруг, и не мог найти способ сделать это.

Как это может быть сделано?

1 ответ

Я нашел нечто похожее здесь http://community.sharpdevelop.net/forums/p/9113/25353.aspx

Суть, по-видимому, заключается в том, что в это время (2010!) Не было прямого способа сделать это, но был дан следующий намек.

There's no built-in tooltip support, but long ago I've added the TextEditor.MouseHover event which can be used to show tool tips.

Пример кода:

    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;
    }
Другие вопросы по тегам