2012-05-31 2 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);