2015-01-11 4 views
0

Можно ли удалить все свойства, такие как (цвет фона ...) из элементов Paragraph.Inline, так же, как вы можете сделать с классом TextRange?Как очистить все свойства от Paragraph.Inline

Ну, я хотел очистить фон от предыдущего элемента Run из Inline Collection. Поэтому я подумал, что было бы проще вызвать метод, который очистит все предыдущие свойства. Однако, в моем случае, это, кажется, единственный способ сделать это что-то вроде этого:

int index = 0; 
... 
List<Inline> runList = ParagraphComponent.Inlines.ToList(); 
if (index < runList.Count) { 
    if (index > 1) { 
     int previousPartIndex = index - 2; 
     if (!string.IsNullOrEmpty(runList[previousPartIndex].Text)) { 
      runList[previousPartIndex].Background = null; 
     } 
    } 
    runList[index].Background = BackgroundColor; 
    index += 2; 
} 
+0

[Что вы пробовали?] (Http://mattgemmell.com/what-have-you-tried/) – Clemens

+0

Привет Clemens! Пожалуйста, просмотрите отредактированный пост! постскриптум Я просто усложняю вещи, или FlowDocument, компоненты Inlines дополняют определенное время практики или это действительно сложно? – Kapparino

ответ

1

Как вы не можете получить доступ к InlineCollection по индексу, я предложил бы использовать оригинальный _inlineCollection, из которого вы инициализируйте строки Inline (от вашего previous question).

((Run)_inlineCollection[index]).Background = null; 
index++; 
while (index < inlineCollection.Count && !(_inlineCollection[index] is Run)) 
{ 
    index++; 
} 
if (index < _inlineCollection.Count) 
{ 
    ((Run)_inlineCollection[index]).Background = BackgroundColor; 
} 
+0

Еще раз спасибо! '((Run) _inlineCollection [index]). BringIntoView();' Это сработало! – Kapparino

Смежные вопросы