2010-09-21 5 views
1

У меня есть приложение WPF, в котором пользователь может вставлять некоторые данные из Word внутри RichTextBox ... но если у этого слова есть изображение, мне нужно его удалить, как я могу это сделать? Поскольку FlowDocument - это xml, возможно, это может сделать некоторые магии linq, но я не знаю как:/Удалить изображения из RichTextBox FlowDocument

+0

Существует функция LogicalTreeUtility, используемая для получения определенных элементов в FlowDocument, возможно, она может быть полезной здесь: http://www.eggheadcafe.com/tutorials/aspnet/233d3397-0388-473c-8473-721a40cf910c/wpf- customized-find-control-for-flowdocuments.aspx –

ответ

0

Существует инструмент под названием WordtoXAML Converter (http://wordtoxaml.codeplex.com). Вы можете использовать это, чтобы преобразовать содержимое документа Word в XAML, использовать регулярное выражение, чтобы идентифицировать изображения, а затем вырезать их.

+0

Ну, RichTextBox хостинг FlowDocument выполнит преобразование при вставке из Word, поэтому добавление стороннего инструмента в решение не облегчит задачу. –

0

Следующий код сделает то, что вы хотите. Хотя это может быть немного расточительно (он просматривает весь документ, а не только тот бит, который был только что вставлен), это единственный способ сделать это, поскольку иногда RichTextBox является неточным, когда он указывает на недавно окрашенный диапазон:

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