是否可以通过编程方式获取WPF中TextBox
元素内特定行开头的插入符索引?
例如,要选择第20行:
my_textbox.GetLineIndex(20);
我希望获取此信息,以便我可以将其用作my_textbox.SelectionStart
值。
有my_textbox.ScrollToLine(20)
,但这不会给我一个我不认为的索引?
答案 0 :(得分:3)
我认为没有内置的方法,但您可以尝试这样的扩展方法。
public static int GetLineIndex(this TextBox textbox, int line)
{
var text = textbox.Text;
var thisLine = 0;
for (var i = 0; i < text.Length; i++)
{
if (thisLine == line)
return i;
if (text[i] == '\n')
++thisLine;
}
throw new ArgumentOutOfRangeException();
}
答案 1 :(得分:1)
您只需使用“ GetCharacterIndexFromLineIndex”功能就可以在特定行的开头获取插入符号索引。
您可以在以下位置查看有关此功能的更多信息:Microsoft Documentation for GetCharacterIndexFromLineIndex
这将根据需要在行的开头返回插入号索引。
int startIndex = my_textbox.GetCharacterIndexFromLineIndex(lineNumber);
答案 2 :(得分:0)
您可以使用按钮单击多行文本框
bucket.get_key()