0

我无法使用后面的 WPF 代码从 textarea 中提取文本。

示例:伦敦的晴天

如果光标设置在 [d*ay] 上,它应该返回 day。* 为光标。

任何帮助将不胜感激。

4

1 回答 1

0

这似乎可行,但我不确定当插入符号位于空白中间时您希望它如何表现。照原样,它基本上返回接触插入符号的最近标记。例如,短语“Sunny day in London”有四个标记:“Sunny”、“day”、“in”和“London”。

string selection;

if (txtBox.Text.Length > 0)
{
    int startIndex = 0;

    for (int i = txtBox.CaretIndex - 1; i >= 0; i--)
    {
        if (String.IsNullOrWhiteSpace(txtBox.Text[i].ToString()))
        {
            startIndex = i;
            break;
        }
    }

    int length = txtBox.Text.Length - startIndex;

    for (int i = startIndex; startIndex + i <= txtBox.Text.Length - 1; i++)
    {
        if (String.IsNullOrWhiteSpace(txtBox.Text[startIndex + i].ToString()))
        {
            length = i;
            break;
        }
    }

    selection = txtBox.Text.Substring(startIndex, length);
}
else
{
    selection = "";
}
于 2012-06-05T21:11:40.200 回答