/ / Як я можу вставити зображення у WPF RichTextBox під час виконання між текстом, щоб текст плавав навколо зображення - wpf, richtextbox

Як я можу вставити зображення в WPF RichTextBox під час виконання між текстом, щоб текст плавав навколо зображення - wpf, richtextbox

Я намагаюся вставити зображення у WPFRichTextBox під час виконання між текстом, щоб текст плавав навколо. Я спробував скористатися флоатером, але кінцевим результатом є те, що поруч із зображенням можна встановити лише один рядок, а решта вмісту зміщується внизу.

Це код, який я маю до цього часу для вставки зображення:

    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 ipsum dolor sit amet, consecteturadipisicing elit, sed do eiusmod tempor incidentidunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco labouris are not ut aliquip ex ea commodo posleat. Duis aute irure dolor in reprehenderit in
[ЗОБРАЖЕННЯ ДОБУЄ ТУТ]
[ЗОБРАЖЕННЯ ДОБУЄ ТУТ]
[ЗОБРАЖЕННЯ ДОБУЄ ТУТ]
[ЗОБРАЖЕННЯ ДОБУЄ ТУТ]
об’ємний velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa quifficia deserunt mollit anim id est laborum. "

Як я можу вставити зображення, щоб текст плавав навколо зображення (кілька рядків від тексту праворуч і ліворуч від зображення)?

Якщо хтось уявляє, як це зробити, я хотів би це зробити. Дуже дякую.

Відповіді:

0 для відповіді № 1

Це одне з тих, що легко, коли ти знаєш як. Після рядка у коді, де ти створюєш Floater, додай наступне:

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

Ви очікуєте, що Floater встановить для нього ширину залежно від розміру вмісту, але оскільки це може бути текст, який ви хочете обернути, це не може бути. Ви повинні чітко встановити ширину.