Xaml TextLineBounds剪下字母底部

Xaml TextLineBounds剪下字母底部,xaml,windows-8.1,textlinebounds,Xaml,Windows 8.1,Textlinebounds,我在Windows8.1中使用TextLineBounds来对齐基线上不同字体大小的文本,例如 XAML看起来像: <Grid x:Name="PageHeader"> <Grid.RowDefinitions> <RowDefinition Height="Auto" /> <RowDefinition Height="28" /> </Grid.Ro

我在Windows8.1中使用TextLineBounds来对齐基线上不同字体大小的文本,例如

XAML看起来像:

    <Grid x:Name="PageHeader">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto" />
            <RowDefinition Height="28" />
        </Grid.RowDefinitions>

        <Grid Grid.Row="0">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="Auto" />
                <ColumnDefinition Width="Auto" />
                <ColumnDefinition Width="15" />
                <ColumnDefinition Width="Auto" />
                <ColumnDefinition Width="15" />
                <ColumnDefinition Width="Auto" />
            </Grid.ColumnDefinitions>
            <TextBlock Grid.Column="1"
                       VerticalAlignment="Bottom"
                       TextLineBounds="TrimToBaseline"
                       FontSize="50"
                       Text="OOO Big Font" />
            <TextBlock Grid.Column="3"
                       VerticalAlignment="Bottom"
                       TextLineBounds="TrimToBaseline"
                       FontSize="26"
                       Text="OOO SmallerFont" />
            <TextBlock Grid.Column="5"
                       VerticalAlignment="Bottom"
                       TextLineBounds="TrimToBaseline"
                       FontSize="20"
                       Text="OOO Even Smaller Font" />
        </Grid>
     </Grid>

当我调整窗口大小时,在某个点(在最小尺寸500之前)会剪裁下降部分(我还看到,即使在没有下降部分的情况下,整条直线上的底部一两个像素也会被剪裁,这会导致像扁平的O一样的瑕疵)

显示元素不会在调整大小时更改,也不会因视觉状态等进行修改


这似乎是一个bug,但不确定是否有解决方法(除了放弃使用TextLineBounds)。

我认为这是预期的行为,也许快速解决方法只是一个快速
,尽管我刚刚注意到您已经在每个块上设置了它,我认为这否定了基线修剪的必要性。我不认为这是预期的行为,因为当网格的宽度改变时,会发生一些事情,但文本块的高度不会。事实上,“使用此属性的一个主要原因是控制文本元素的对齐,例如,对齐页眉的基线”。我之所以说它看起来是有意的,是因为如果您查看它们的示例,您会看到您可以预期修剪的位置(覆盖示例中文本部分的黄色块)虽然我不确定你提到的网格的宽度/高度是什么意思。我明白你的意思。我认为(希望:)黄色覆盖图是用来显示文本是如何测量的,而不是如何呈现的,有趣的是,这些注释表明了“相邻行”的适用性。因此,如果您使用我发布的确切XAML并将其弹出到新的Windows 8.1页面(无虚饰),那么我的用例(以及MSDN博客帖子?)在高度/宽度方面可能存在缺陷,它将在横向/纵向以及将屏幕大小调整为1/2时呈现良好效果,但当您在某个点朝着最小500 px的宽度调整时,下降部分被切碎-因此它的行为似乎不一致。我刚刚遇到了这个问题,感谢您的讨论。可能是当文本框变得太小而无法显示所有文本时(显示“…”),它的行为就好像有第二行一样(因此“相邻行”起作用)。那当然是个错误。