Удаление InlineUIContainer из WPF RichTextBox
У меня есть RTB с InlineUIContainer. Я храню их в списке, чтобы получить к ним доступ напрямую. Как я могу удалить их из моего RTB в C#?
Пример кода:
// 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);
1 ответ
Решение
Здесь вы можете удалить его, как показано ниже. Если это ваша локальная коллекция контейнеров:
List<InlineUIContainer> containers = new List<InlineUIContainer>();
и вы хотите удалить контейнер, который находится первым в вашем списке, а затем:
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);
}
}
}