2012-05-31 50 views
0

如何將超鏈接添加到wpf RichTextBox中的選區?超鏈接在wpf RichTextBox中選定的文本並從代碼中設置選擇

例如,如果我的RichTextBox說:

「送我到堆棧溢出。」

我突出顯示「溢出」,然後單擊一個按鈕將其超鏈接到「www.stackoverflow.com」如何實現此目的?

此外,我試圖突出代碼的文本,我不知道如何。爲了突出整體的RichTextBox我已經試過這一點,但沒有奏效:

TextPointer myTextPointer1 = rtb.Document.ContentStart; 
    TextPointer myTextPointer2 = rtb.Document.ContentEnd; 

    rtb.Selection.Select(myTextPointer1, myTextPointer2); 

回答

1
TextSelection ts = rtb.Selection; 
    TextPointer start = ts.Start; 
    TextPointer end = ts.End; 

    TextRange before = new TextRange(rtb.Document.ContentStart, start); 
    TextRange after = new TextRange(end, rtb.Document.ContentEnd); 
    TextRange linker = new TextRange(start, end); 

    Paragraph myParagraph = new Paragraph(); 
    myParagraph.Inlines.Clear(); 
    myParagraph.Inlines.Add(before.Text); 

    Hyperlink hyperLink = new Hyperlink(); 
    hyperLink.Inlines.Add(ts.Text); 

    hyperLink.Click += new RoutedEventHandler(hyperLink_Click); 
    myParagraph.Inlines.Add(hyperLink); 
    myParagraph.Inlines.Add(after.Text); 

    rtb.Document.Blocks.Clear(); 

    rtb.Document.Blocks.Add(myParagraph); 
相關問題