[英]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包含:嘿,您好,單詞schnitzel是怎么回事,嘿
我希望它滾動到單詞“嘿”。
我嘗試使用Select()方法,該方法不起作用...
創建運行並添加運行(非內聯)
保存對運行的引用(例如列表)
然后只需調用Runs [x] .BringIntoView()
尚未在RTB上進行測試,但是我已經使用FlowDocument和FlowDocumentViewer進行了此操作
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.