Встроенный объект в TextBlock с TextTrimming = CharacterEllipsis или WordEllipsis

Если вы запустите этот код и уменьшите/увеличьте ширину окна

<TextBlock TextTrimming="WordEllipsis" >
    <Run Text="I want that this rectangle will be placed "/>
    <Rectangle Fill="Black" Width="20" Height="10" />
    <Run Text=" here when I minimize width of the window"/>
</TextBlock>

вы увидите, что Rectange сдвинется влево. enter image description hereenter image description here

Является ли ошибка в WPF?

Ответ 1

Я думаю, это не ошибка. Попробуйте взять свойство TextTrimming="WordEllipsis" из текстового блока (это влияет на весь элемент управления) и вы увидите, что прямоугольник не будет перемещаться с вашими изменениями размера окна, потому что у вас нет никаких свойств HorizentalAligment.

Ответ 2

Хотя это кажется ошибкой, это может быть обходным путем:

<TextBlock TextTrimming="WordEllipsis" >
<Run Text="I want that this rectangle will be placed "/>
<Run Text="&#x25A0;" FontSize="40" BaselineAlignment="Center"/>
<Run Text=" here when I minimize width of the window"/>
</TextBlock>

Смотрите Unicode Characters в блоке геометрических фигур.