[英]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.