2012-02-04 45 views
4

我試圖插入圖像到WPF RichTextBox在運行時在文本之間,使文本浮動。我嘗試使用浮動,但最終的結果是隻有一行可以設置圖像旁邊,其餘的內容轉移到底部。如何插入圖像到WPF RichTextBox在文本之間的運行時間,使文本漂浮在圖像

這是代碼我迄今用於插入圖片:

private Image SelectImage() 
    { 
     CommonDialog dialog = new CommonDialog(); 
     dialog.InitialDirectory = System.Environment.SpecialFolder.MyDocuments.ToString(); 
     dialog.Filter.Add(new FilterEntry(Properties.Resources.StrImageFormats, "*.jpg;*.jpeg;*.gif;*.png")); 
     dialog.Title = Properties.Resources.StrSelectImage; 

     if (dialog.ShowOpen()) 
     { 
      string filePath = dialog.FileName; 
      BitmapImage bitmap = new BitmapImage(new Uri(filePath, UriKind.Absolute)); 
      Image image = new Image(); 
      image.Source = bitmap; 
      image.Width = bitmap.Width; 
      image.Height = bitmap.Height; 
      return image; 
     } 
     return null; 
    } 

    private void ButtonInsertImage_Click(object sender, RoutedEventArgs e) 
    { 
     Image image = SelectImage(); 
     if (image != null) 
     { 
      TextPointer tp = RTB.CaretPosition.GetInsertionPosition(LogicalDirection.Forward); 
      Floater floater = new Floater(new BlockUIContainer(image), tp); 
     } 
    } 

但是,當我把我的光標在文字之間,上面的代碼中插入一個新行的形象和的休息文字出現在圖像之後。像這樣的有點:

「Lorem存有悲坐阿梅德,consectetur adipisicing ELIT,sed的根本eiusmod tempor incididunt UT labore等dolore麥格納aliqua UT enim廣告微量veniam,QUIS nostrud實習ullamco laboris暫準UT aliquip前。 EA commodo consequat。DUIS奧特irure悲在reprehenderit在
[IMAGE來這裏]
[IMAGE來這裏]
[IMAGE來這裏]
[IMAGE COMES HERE]
voluptate velit埃塞cillum dolore EU fugiat法無pariatur 。Excepteur sint occaecat cupidatat non proident,sunt in culpa qui off icia deserunt mollit anim id est laborum。「

如何插入圖像,以便文本在圖像周圍浮動(多行關閉圖像的右側和左側的文本)?

如果任何人有任何關於如何做到這一點的想法,我會喜歡在這裏。非常感謝你。

+0

哪種解決方案適合您? – 2014-12-15 14:19:38

回答

0

這是當你知道如何很容易的其中之一。在你的代碼中創建浮動行後,補充一點:

floater.HorizontalAlignment = HorizontalAlignment.Center; 
floater.Width = bitmap.Width; 

你所期望的浮子來設置它取決於內容的大小寬度,但由於它可能是文本要換行,它不能。你必須明確地設置寬度。