我有一個WPF應用程序,用戶可以在RichTextBox中粘貼一些Word數據......但如果這個單詞數據有圖像,我需要刪除它,我該怎麼做呢? 由於FlowDocument是xml,也許做一些linq魔術可以做到這一點,但我不知道如何:/從RichTextBox中移除圖像FlowDocument
1
A
回答
0
有一個名爲WordtoXAML轉換器(http://wordtoxaml.codeplex.com)的工具。您可以使用它將Word文檔內容轉換爲XAML,使用正則表達式匹配來識別圖像,然後將其去除。
+0
那麼,從Word粘貼的RichTextBox託管FlowDocument將執行轉換,因此向解決方案添加第三方工具不會使此任務變得更加簡單。 – 2010-09-23 21:02:34
0
下面的代碼將做你想要的。雖然它可能有點浪費(它會查看整個文檔而不是剛剛粘貼的位),但它是唯一的方法,因爲有時RichTextBox在指示最近繪製的範圍時不準確:
public class MyTextBox : RichTextBox
{
public MyTextBox()
{
CommandBindings.Add(new CommandBinding(ApplicationCommands.Paste, Paste));
}
protected virtual void Paste(object sender, ExecutedRoutedEventArgs e)
{
Paste();
foreach (var image in FindImages())
{
if (image.SiblingInlines != null)
{
image.SiblingInlines.Remove(image);
}
}
}
IEnumerable<InlineUIContainer> FindImages()
{
var result = new List<InlineUIContainer>();
var blocks = Document.Blocks;
for (TextPointer position = blocks.FirstBlock.ElementStart; position != null && position.CompareTo(blocks.LastBlock.ElementEnd) != 1; position = position.GetNextContextPosition(LogicalDirection.Forward))
{
InlineUIContainer element = position.Parent as InlineUIContainer;
if (element != null && element.Child is Image)
{
result.Add(element);
}
}
return result;
}
}
相關問題
- 1. RichTextBox中的圖像(FlowDocument)
- 2. 將RichTextBox FlowDocument保存爲圖像
- 3. 在運行時將圖像拖動到RichTextBox中的FlowDocument中
- 4. 從RichTextBox中提取圖像
- 5. 刪除(或更新)RichTextBox中的圖像
- 6. 從父視圖中移除圖像
- 7. InvalidOperationException當我嘗試從WPF中的RichTextBox手動刪除圖像
- 8. 從uiimageview.animationimages中移除圖像 - iPhone/Swift
- 9. 如何將FlowDocument附加到RichTextBox?
- 10. RichTextBox中不顯示圖像
- 11. 如何使用圖像處理從圖像中移除反射
- 12. 查找FlowDocument中的所有圖像
- 13. FlowDocument中沒有顯示圖像
- 14. RichTextBox圖像問題
- 15. 從小的二進制圖像中移除異常像素
- 16. 從SubView中移除視圖
- 17. 從UIScrollView中移除視圖
- 18. 移除圖像透明度
- 19. 轉換XAML來的FlowDocument在RichTextBox中的WPF
- 20. 如何將文本轉換爲WPF RichTextBox FlowDocument中的超鏈接?
- 21. 以編程方式選擇WPF RichTextBox(FlowDocument)中的文本範圍
- 22. 將圖像嵌入到Silverlight RichTextBox中
- 23. WinForms RichTextBox中的圖像問題
- 24. 從UIImageView中刪除圖像
- 25. 從圖像中刪除行
- 26. 從UICollectionViewController中刪除圖像
- 27. 從IKImageView中刪除圖像
- 28. 從UI中刪除圖像
- 29. 從NSMutableArray中刪除圖像
- 30. 從圖像中刪除卷
LogicalTreeUtility用於獲取FlowDocument中的特定元素,可能在此處可以使用:http://www.eggheadcafe.com/tutorials/aspnet/233d3397-0388-473c-8473-721a40cf910c/wpf- custom-find-control-for-flowdocuments.aspx – 2010-09-23 21:05:55