gpt4 book ai didi

wpf - 将 FontWeight 设置为 Bold 会缩小文本大小

转载 作者:行者123 更新时间:2023-12-04 21:05:42 25 4
gpt4 key购买 nike

我一直在设置一个资源字典来为我的 WPF 应用程序中的所有控件设置样式,并且在设置标签的字体粗细时我发现了一些奇怪的行为。

我必须为标签设置样式,第一个使用正常字体粗细:

<Style x:Key="Label" TargetType="{x:Type Label}">
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="Margin" Value="10,0"/>
</Style>

第二个设置为粗体:
<Style x:Key="LabelBold" TargetType="{x:Type Label}">
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="Margin" Value="10,0"/>
<Setter Property="FontWeight" Value="Bold"/>
</Style>

麻烦的是,当我使用粗体加权字体时,文本会缩小(或文本间距):

enter image description here

我已经搜索过,但我似乎看不到任何原因,如果有的话,我希望文本会因为字母粗细增加而扩展。
这是注定要发生的吗?如果是这样,有没有办法解决它?

编辑:该窗口使用以下字体:
<Setter Property="TextOptions.TextFormattingMode" Value="Display"/>
<Setter Property="FontFamily" Value="Calibri"/>
<Setter Property="FontSize" Value="12"/>

最佳答案

我不确定发生了什么,但据我所知,有些东西覆盖了 FontSize粗体标签的选择。如果 FontSize,我可以获得与您的示例相同的间距设置为 11 而不是 12。我得到这个图像,其中前 2 个标签设置为 FontSize 12 底部标签设置为 FontSize共 11 个:

enter image description here

使用这个:

App.Xaml

<Application x:Class="WpfApplication1.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="MainWindow.xaml">
<Application.Resources>
<Style x:Key="Label" TargetType="{x:Type Label}">
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="Margin" Value="10,0"/>
</Style>
<Style x:Key="LabelBold" TargetType="{x:Type Label}">
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="Margin" Value="10,0"/>
<Setter Property="FontWeight" Value="Bold"/>
</Style>
<Style x:Key="WindowStyle" TargetType="{x:Type Window}">
<Setter Property="TextOptions.TextFormattingMode" Value="Display"/>
<Setter Property="FontFamily" Value="Calibri"/>
<Setter Property="FontSize" Value="12"/>
</Style>
</Application.Resources>
</Application>

MainWindow.xaml
Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Style="{StaticResource WindowStyle}">
<Grid>
<Label Style="{StaticResource Label}" Height="32" HorizontalAlignment="Left" Margin="10,10,0,0" Name="label1" VerticalAlignment="Top">This is a test of font-weight:</Label>
<Label Style="{StaticResource LabelBold}" Height="32" HorizontalAlignment="Left" Margin="10,30,0,0" Name="label2" VerticalAlignment="Top">This is a test of font-weight:</Label>
<Label Style="{StaticResource LabelBold}" Height="32" HorizontalAlignment="Left" Margin="10,50,0,0" FontSize="11" Name="label5" VerticalAlignment="Top">This is a test of font-weight:</Label>
</Grid>
</Window>

关于wpf - 将 FontWeight 设置为 Bold 会缩小文本大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13088971/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com