искам да получа индекс на първия символ на ред, в wpf richtextbox

Когато въведох номера на реда, бих искал да знам индекса на първия знак на реда.

Всеки път, когато щракнете върху бутона, отпечатайте текст върху richtextbox1.

и бих искал да знам индекса на първия знак от изходния ред.

това е моят код:

private int GetTextPositionAndLength(int position, int lineIndex, out int length)
{
    int richtTextLineIndex = GetFirstCharIndexFromLine(lineIndex);
    int index = 0;
    length = 0;
    return index + richtTextLineIndex;
}

private int GetFirstCharIndexFromLine(int lineIndex)
{
    // What should I enter the code?
    int index = 0;
    return index;
}

Помогни ми


person Kim Sang Hoon    schedule 16.08.2015    source източник


Отговори (1)


    private int GetFirstCharIndexFromLine(int lineIndex)
    {
        int index = 0;

        var rtb = yourRichTextBox;

        TextRange textRange = new TextRange(
            rtb.Document.ContentStart,
            rtb.Document.ContentEnd
        );

        var alltext = textRange.Text;

        string[] lines = alltext.Replace("\n", "").Split('\r');

        if (lineIndex > lines.Count())
            throw new ArgumentOutOfRangeException("lineIndex");

        for (int i = 0; i < lineIndex; i++)
        {
            index += lines[i].Length;
        }

        return index;
    }

Надявам се, помага

person VMaleev    schedule 16.08.2015