Ale*_* P. 1 c# wpf richtextbox
是否可以动态添加超链接而不创建新的段落,如此问题中动态添加超链接到RichTextBox?
我想要"请访问http://www.google.com.谢谢!" 不
"请拜访
.谢谢!".
此外,RichTextBox必须是只读的,用户无法输入.这就像日志,我需要的是定期添加一些有时包含URL的文本.
好的,看起来像我需要的那样(感谢@Blam和@PaulN 动态添加到RichTextBox的超链接):
public MainWindow()
{
InitializeComponent();
rtb.IsDocumentEnabled = true;
rtb.Document.Blocks.FirstBlock.Margin = new Thickness(0);
}
private void AddHyperlinkText(string linkURL, string linkName,
string TextBeforeLink, string TextAfterLink)
{
Paragraph para = new Paragraph();
para.Margin = new Thickness(0); // remove indent between paragraphs
Hyperlink link = new Hyperlink();
link.IsEnabled = true;
link.Inlines.Add(linkName);
link.NavigateUri = new Uri(linkURL);
link.RequestNavigate += (sender, args) => Process.Start(args.Uri.ToString());
para.Inlines.Add(new Run("[" + DateTime.Now.ToLongTimeString() + "]: "));
para.Inlines.Add(TextBeforeLink);
para.Inlines.Add(link);
para.Inlines.Add(new Run(TextAfterLink));
rtb.Document.Blocks.Add(para);
}
private void button1_Click(object sender, RoutedEventArgs e)
{
AddHyperlinkText("http://www.google.com", "http://www.google.com",
"Please visit ", ". Thank you! Some veeeeeeeeeery looooooong text.");
}
Run Code Online (Sandbox Code Playgroud)
但是还剩下一个小问题:也许有人知道如何删除开头的空白区域,上面的图像上标有红线?
归档时间: |
|
查看次数: |
13974 次 |
最近记录: |