Как вызвать событие при наведении курсора мыши на определенный текст в 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;
}