Вертикальное выравнивание текста не выравнивается должным образом - PullRequest
0 голосов
/ 26 декабря 2018

Если вы запустите этот код, вы увидите, что цифра 6 выровнена по границе правильно по горизонтали, но по вертикали она слишком мала на один пиксель:

<Window x:Class="WpfApp2.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfApp2"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800">
    <Grid>
        <Border Height="46" Width="46" BorderBrush="Black" BorderThickness="1">
            <TextBlock Text="6" HorizontalAlignment="Center" VerticalAlignment="Center"  />
        </Border>
    </Grid>
</Window>

Теперь один пиксель может не показатьсякак много, хотя это кажется мне на глаз, но теперь проверьте этот код вместо этого.Теперь это очень очевидно, и я на самом деле пытаюсь использовать больший размер шрифта.Теперь это примерно на 3 пикселя слишком мало.

<Window x:Class="WpfApp2.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfApp2"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800">
    <Grid>
        <Border Height="46" Width="46" BorderBrush="Black" BorderThickness="1">
            <TextBlock Text="6" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="50" />
        </Border>
    </Grid>
</Window>

Есть идеи?Я знаю, что могу взломать его в правильной позиции, используя отрицательное верхнее поле ... но ...

1 Ответ

0 голосов
/ 26 декабря 2018

Использовать отступы

  <Grid>
        <Border Height="46" Width="46" BorderBrush="Black" BorderThickness="1">
             <TextBlock Text="6" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="50" Padding="0 0 0 5"/>
        </Border>
  </Grid>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...