2015-12-06 3 views
1

Я добавляю документ Richtextbox в базу данных. Документ имеет несколько гиперссылок. Каждая гиперссылка добавил к этому RichTextBox по программным следующим образом:Handle Hyperlink Событие Click после загрузки из базы данных в C# Richtextbox

 RichTextBox.IsDocumentEnabled = true; 
     RichTextBox.IsReadOnly = true; 
     Run run = new Run(RichTextBox.Selection.Text); 
     Hyperlink hyp = new Hyperlink(run); 
     WordMain main = new WordMain(); 
     hyp.Click += new RoutedEventHandler(main.hyperLink_Click); 
     hyp.NavigateUri = new Uri("http://search.msn.com"); 
     RichTextBox.Cut(); 

     var container = new InlineUIContainer(new TextBlock(hyp), RichTextBox.Selection.Start); 
     RichTextBox.IsDocumentEnabled = true; 
     RichTextBox.IsReadOnly = false; 

После загрузки данных из базы данных я не могу справиться нажмите событие в новом RichTextBox. Пожалуйста, помогите.

+1

Уверен, вы не можете, где, по вашему мнению, делегаты должны быть сохранены? – Spawn

+0

@Spawn, я проверяю только его. У вас есть другое решение? –

ответ

2

Поэтому я нахожу решение. Я только добавляю коды, как следует в richtextbox

 <RichTextBox.Resources> 
      <Style TargetType="Hyperlink"> 
       <Setter Property="Cursor" Value="Hand" /> 
       <EventSetter Event="Click" Handler="hyperLink_Click" /> 
      </Style> 
     </RichTextBox.Resources> 
+1

Хороший выбор^_ ^ – Spawn