簡體   English   中英

WPF RichTextBox-添加沒有換行符的超鏈接?

[英]WPF RichTextBox - Add a hyperlink without line break?

我的代碼在每個鏈接之前添加了一個換行符。 如何添加超鏈接而不添加換行符? 這是我的代碼:

        String link = "http://google.de";

        if (Uri.IsWellFormedUriString(link, UriKind.RelativeOrAbsolute))
        {
            Paragraph paragraph = new Paragraph();
            paragraph.Inlines.Add(link);

            Hyperlink hyper = new Hyperlink(paragraph.ContentStart, paragraph.ContentEnd);
            hyper.NavigateUri = new Uri(new TextRange(paragraph.ContentStart, paragraph.ContentEnd).Text);
            paragraph.Margin = new Thickness(0);
            richTextBox1.Document.Blocks.Add(paragraph);
        }

換行符是由段落完全創建的。 您可以僅使用其他Inline元素(而非Block元素)來創建新的Hyperlink 代碼應如下所示:

if (Uri.IsWellFormedUriString(link, UriKind.RelativeOrAbsolute)) {
        //check if there is any paragraph, if not then add a new one            
        Paragraph para = null;
        if(richTextBox1.Blocks.Count == 0 || 
           !(richTextBox1.Blocks.LastBlock is Paragraph)) {
            para = new Paragraph();
            para.Margin = new Thickness(0);
            richTextBox1.Blocks.Add(para);
        } else para = richTextBox1.Blocks.LastBlock;            

        Hyperlink hyper = new Hyperlink(new Run(link));
        hyper.NavigateUri = new Uri(link);
        //add hyperlink to the last Paragraph
        para.Inlines.Add(hyper);            
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM