Попробуйте установить Padding
и Margin
TextBlock
на ноль.
<TextBlock Padding="0" Margin="0" ... />
Поскольку у вас есть несколько текстовых блоков, с которыми вы захотите это сделать, вы должны вероятно использоватьStyle
для этого.
<StackPanel Orientation="Horizontal">
<Style TargetType="TextBlock">
<Setter Property="Padding" Value="0" />
<Setter Property="Margin" Value="0" />
</Style>
...
</StackPanel>
Если это не поможет, вы можете начать использовать отрицательные поля:
Margin="-1,0,0,0"
Однако это вносит хрупкость в ваш код, потому чторасстояние между текстом зависит от размера шрифта и отображаемого текста.Например, если вы измените размер шрифта на 13, у вас больше не будет этой проблемы с пятью строчными буквами 'e'.Изменение текста на верхний регистр 'E' приведет к той же самой проблеме, однако.
Вы можете попробовать использовать свойства обрезки на TextBlock
или даже эффекты рендеринга, но это похоже на большую работу, просточтобы получить текст, чтобы настроить пару пикселей.Могу я спросить, почему вы пытаетесь заставить два образца текста выглядеть одинаково?
Обновление: Я сомневаюсь, что вы можете найти хороший способ заставить эту работу работать так, как выхочу.Возможно, вам стоит использовать RichTextBox
или создать собственный элемент управления.
Здесь - хороший пример использования RichTextBox
с подсветкой текста (хотя это подсветка переднего плана).