C# WPF RichTextBox 滚动到文本?

C# WPF RichTextBox Scroll to text?

我正在做一个小写作游戏,但遇到了一个问题。我有一个 richtextbox,其中包含一个段落,里面有很多 运行,我希望它滚动到我有的一​​些 运行。我有一个 List 对象,其中包含 RTB 中的所有内联,并且 Select() 方法由于某种原因不起作用,可能是因为它是一个只读的 rtb。关于滚动到所选单词的方法有什么想法吗? 我的代码:

    private bool isKey = false;
    private Paragraph p;
    private List<Inline> inlineList;
    private int inlineIndex = 0, wpm = 0, wordIndex = 0, lineIndex = 0;
    private string[] words;
    public MainWindow()
    {
        InitializeComponent();
        p = new Paragraph();
        foreach (string s in words)
        {
            p.Inlines.Add(s);
            p.Inlines.Add(" ");
        }
        WordBox.Document.Blocks.Clear();
        WordBox.Document.Blocks.Add(p);
        inlineList = p.Inlines.ToList();
        inlineList[0].Background = Brushes.LightGray;
        this.Activate();
        InputBox.Focus();
    }
    //The Method I want to put the scrolling feature in:
    private void MoveWord()
    {
        if (inlineIndex + 2 < inlineList.Count)
        {
            inlineList[inlineIndex].Background = Brushes.Transparent;
            inlineIndex += 2;
            inlineList[inlineIndex].Background = Brushes.LightGray;
            WordBox.Selection.Select(inlineList[inlineIndex].ContentStart, inlineList[inlineIndex].ContentEnd);
        }
        else
            MessageBox.Show(wpm.ToString());
    }

例如: RTB 包含: 嘿你好怎么了 单词炸肉排嘿

我希望它滚动到单词 "hey"。

我试过使用 Select() 方法,但没有用...

创建运行和添加运行(不是内联)
保存对运行的引用(例如列表)
然后调用 Runs[x].BringIntoView()
尚未在 RTB 上进行测试,但我已使用 FlowDocument 和 FlowDocumentViewer

BringIntoView