2011-07-14 53 views
0

我有一個WPF RichTextBox並使用FlowDocument我已經添加了一個Paragraph。在Paragraph裏面我也加了多個Hyperlink s。如何在運行時從WPF RichTextbox中刪除超鏈接?

我想在運行時刪除超鏈接,並用一些文本替換它們。 所有超鏈接共享相同的事件處理程序,所以我認爲我應該在超鏈接單擊事件處理程序中編寫超鏈接刪除代碼。

如何從被點擊的段落中刪除特定的超鏈接?

回答

0

我知道這是爲時已晚,但我發現了一個更簡單的方法來刪除超鏈接:

Hyperlink hyperlink = sender as HyperLink; 
// we make a selection from BEFORE the hyperlink to AFTER the hyperlink 
rtb.Selection.Select(hyperlink.ElementStart, hyperlink.ElementEnd); 
// we replace the hyperlink element by a simple text 
rtb.Selection.Text = rtb.Selection.Text; 

它工作得很好了我。

+0

相當不錯。替換後的超鏈接是否仍然存在? – stukselbax

+0

執行此代碼後超鏈接將不可見,但也許它可能存在幕後,但不可見。 – Abhi