Как получить тег xml из позиции курсора в текстовом поле c# wpf - PullRequest
0 голосов
/ 09 мая 2020

У меня есть текст XML в текстовом поле WPF.

Так, например, если курсор расположен вот так,

enter image description here

или так

enter image description here

Я хочу получить tag1. И если курсор находится в tag2:

enter image description here, я получаю tag2 и так далее ...

enter image description here

1 Ответ

1 голос
/ 09 мая 2020

Сначала вам нужно определить AcceptsReturn="True" в XAML, но я думаю, вы это знаете.

Затем вы можете использовать GetLineText метод TextBox таким образом (я создал фиктивное текстовое поле и обработчик событий для презентации):

private void txb_KeyDown(object sender, KeyEventArgs e)
{
    // Handle event only if Q is pressed.
    if (e.Key != Key.Q) return;
    // Count how many newline characters there were, to determine index of current line.
    var lineIndex = txb.Text.Substring(0, txb.CaretIndex).Count(ch => ch == '\n');
    // Get current line.
    var currentLine = txb.GetLineText(lineIndex);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...