垂直对齐WPF中文本块的顶部

时间:2013-04-08 09:23:04

标签: c# wpf fonts typography

我正在尝试直观地align Text的2个(或更多)块内容的顶部Font。 用户可以修改每个块的内容和SizeFamilyWeightGetCellAscent)。

我尝试使用GetCellDescentGetLineSpacingLineSpacing函数,但结果仅取决于字体而非真实内容。无论如何,我无法找到如何在块的顶部和底部分布Ascent+ Descent和{{1}}之间的差异。

例如,我想生成这种输出:

enter image description here

任何帮助?

1 个答案:

答案 0 :(得分:1)

试试这个......

   <Grid Width="171" Height="100" Background="Black" Margin="257,78,75,133">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto" />
            <ColumnDefinition Width="Auto" />
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto" />
            <RowDefinition Height="Auto" />
            <RowDefinition Height="Auto" />

        </Grid.RowDefinitions>

        <TextBlock Name="aaa" Text="12" FontSize="40" HorizontalAlignment="Center"  VerticalAlignment="Stretch" Grid.Row="1"   FontWeight="Bold"   Foreground="White" />
        <TextBlock Text="$" HorizontalAlignment="Left" FontSize="20" Grid.Column="1" FontFamily="Euphemia" FontWeight="Bold" Foreground="White" Margin="8,0,72,0" />
        <TextBlock Text="00 le Kg" FontSize="15" Grid.Column="1" Grid.Row="3" HorizontalAlignment="Left" Grid.IsSharedSizeScope="True" FontFamily="Euphemia" FontWeight="Bold" Foreground="White"/>

    </Grid>