WPF:减少/删除TextBlock中文本上方的空白

WPF:减少/删除TextBlock中文本上方的空白,wpf,xaml,Wpf,Xaml,我有一个文本块,我想在其中显示两行不同字体大小的文本,但我不想在每行上面浪费所有的空间 我的XAML如下所示 <TextBlock Grid.Column="0" Grid.Row="0" FontWeight="Bold" Foreground="Red" TextAlignment="Center"> <Run Text="A" FontSize="144" FontWeight="Bold" /> <LineBreak />

我有一个文本块,我想在其中显示两行不同字体大小的文本,但我不想在每行上面浪费所有的空间

我的XAML如下所示

<TextBlock Grid.Column="0" Grid.Row="0" FontWeight="Bold" Foreground="Red" TextAlignment="Center">

    <Run Text="A" FontSize="144" FontWeight="Bold" />

    <LineBreak />

    <Run Text="Service" FontSize="18" />

</TextBlock>

我最终得到的是

而我想要的是

请注意“A”上方以及“A”和“Service”行之间的所有浪费空间(我已在第二张图像中通过操纵图像删除了这一点)

我尝试了各种组合的线条高度、线条堆叠策略、边距和填充属性值,不仅针对文本块,而且针对段落(使用样式),但似乎没有任何东西可以删除空格

有谁能建议我应该如何做到这一点;我相信这一定是可能的

谢谢。

您可以使用设置为
BlockLineHeight
的属性,并指定
LineHeight
以获得所需的内容

<TextBlock Grid.Column="0" Grid.Row="0" FontWeight="Bold" Foreground="Red" TextAlignment="Center"
           LineHeight="15.25"
           LineStackingStrategy="BlockLineHeight">
    <Run Text="A" FontSize="144" FontWeight="Bold" />
    <LineBreak />
    <Run Text="Service" FontSize="18" />
</TextBlock>

您可以使用设置为
BlockLineHeight
的属性,并指定
LineHeight
以获得所需的内容

<TextBlock Grid.Column="0" Grid.Row="0" FontWeight="Bold" Foreground="Red" TextAlignment="Center"
           LineHeight="15.25"
           LineStackingStrategy="BlockLineHeight">
    <Run Text="A" FontSize="144" FontWeight="Bold" />
    <LineBreak />
    <Run Text="Service" FontSize="18" />
</TextBlock>


我不认为这会完全符合您的搜索方式,但您可以尝试一下

根据您的喜好将
TextBlock
放入
DockPanel
StackPanel
中,然后将其中一个放入
视图框中

ViewBox
尝试最大化它所包含的相对于wpf窗口分辨率的内容


TextBlock
放在
StackPanel
中的原因是
ViewBox
不接受多个子项。

我认为这不会完全符合您的搜索方式,但您可以尝试

根据您的喜好将
TextBlock
放入
DockPanel
StackPanel
中,然后将其中一个放入
视图框中

ViewBox
尝试最大化它所包含的相对于wpf窗口分辨率的内容


TextBlock
放入
StackPanel
的原因是
ViewBox
不接受多个子项。

Give Service负边距不起作用?例如:
Margin=“0-40 0”
Give Service负保证金不起作用?例如:
Margin=“0-40 0”
感谢这一点,我最终使用了这一技术,但实现时使用了答案。在更一般的解决方案中,您不知道编译时
TextBlock
FontSize
(但使用的是一致的大小),只需将
LineHeight
绑定到与您绑定到的
FontSize
相同的值:
基于@mrfelis注释,我将LineHeight绑定到FontSize:
LineHeight=“{binding FontSize,RelativeSource={RelativeSource Mode=Self}”
。为此,我最终使用了这项技术,但使用答案实现。在更一般的解决方案中,如果您在编译时不知道
TextBlock
FontSize
(但使用一致的大小),只需根据@mrfelis注释将
LineHeight
绑定到与
FontSize
绑定到相同的值即可,我正在将LineHeight绑定到FontSize:
LineHeight=“{binding FontSize,RelativeSource={RelativeSource Mode=Self}}”