.net 在Viewbox中获取文本块/标签以在没有不需要的填充的情况下进行缩放

.net 在Viewbox中获取文本块/标签以在没有不需要的填充的情况下进行缩放,.net,wpf,fonts,viewbox,.net,Wpf,Fonts,Viewbox,下面是我非常简单的xaml: <Window x:Class="Test.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Window1" Height="300" Width="300" Background="Black" Padding=

下面是我非常简单的xaml:

<Window x:Class="Test.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="300" Width="300" Background="Black" Padding="0" Margin="0" >
    <Viewbox Margin="0">
        <TextBlock Text="Test" Background="AliceBlue" Foreground="Red" 
            Padding="0" Margin="0" />
    </Viewbox>
</Window>

这是为了缩放标签/文本块(我已经尝试了两者),以尽可能多地填充窗口,同时保持文本的纵横比。问题是,如果你拖动窗口的大小,你会发现文本的顶部和底部似乎有某种不可见的、不可更改的填充

左侧和右侧似乎没有(左图),但顶部和底部有(右图):

在这里,我指出了我所说的额外填充:

我希望它的渲染更像这样(我是手动完成的,因此纵横比并不完美):


有人克服过这个问题吗?也许我需要直接用GDI+或者别的什么东西来画这个文本,但我甚至不知道从哪里开始,所以我应该用任何关键词点击谷歌也会很感激

据我所知,这是字体的一部分,请尝试将
FontFamily
设置为
Webdings


注意:即使将
查看框设置为
Stretch=“Fill”
EWW,文本上方和下方也会出现相同的奇怪填充。。。很明显,WPF并没有关注渲染内容的顶部和底部,而是关注字体所需的高度?六羟甲基三聚氰胺六甲醚。。。我想我需要找到另一种字体,或者试着找出另一种方式来呈现这些东西(我想是用GDI+或者其他什么东西来绘制)。好吧,你也可以用一些像负数
边距
ClipToBounds
之类的东西手动剪切。当然,这并不理想。我最终使用了类似负数边距的东西“变通。”我将文本放在画布上,将顶部设置为负数,高度远远超过100%。当然,这是另一种方法,您也可以使用
TranslateTransform