2013-09-06 2 views
0

J'ai un RTB avec InlineUIContainer. Je les stocke dans une liste, donc je peux y accéder directement. Comment puis-je les supprimer de mon RTB en C#?Suppression de InlineUIContainer de WPF RichTextBox

Exemple de code:

// for some TextPointer textPointer in my RTB 

TextBlock tb = new TextBlock(); 
tb.Text = "hello world"; 

InlineUIContainer inlineUIContainer = new InlineUIContainer(tb, textPointer); 
tb_list.Add(inlineUIContainer); 
+0

Que voulez-vous dire par « supprimer »? – musefan

+0

Supprimez-le de la RichTextBox. – JessMcintosh

Répondre

1

Ici, vous pouvez le supprimer comme ci-dessous. Si ceci est votre collection locale de conteneurs:

  List<InlineUIContainer> containers = new List<InlineUIContainer>(); 

et que vous voulez retirer le récipient qui est d'abord dans votre liste, puis:

  InlineUIContainer inlineContainer = containers[0] ;  
      foreach (var block in myRTB.Document.Blocks) 
      { 
       if (block is Paragraph) 
       { 
        var paragraph = block as Paragraph; 

        if (paragraph.Inlines.Contains(inlineContainer)) 
        { 
         paragraph.Inlines.Remove(inlineContainer); 
        } 
       } 
      } 
+0

Merci, cela fonctionne parfaitement! – JessMcintosh