我有一个 WPF 控件,其中包含许多用于设置字体粗细、样式、装饰和拉伸的切换按钮。在每个切换按钮中都有显示样式的 TextBlock。
出于某种原因,我为 Condensed FontStretch 创建的切换按钮在运行时出现在 ExtraBold、Oblique 和 condensed 中。同样,任何设置为 Condensed 的文本也会以这种方式出现。在设计器中,按钮显示正确。
我认为这可能是因为我将具有相同字体系列的其他按钮设置为 ExtraBold 和 Oblique 并且字体被保存在缓存中。
<ToggleButton Height="24" HorizontalAlignment="Left" Margin="110,232,0,0" Name="boldButton" VerticalAlignment="Top" Width="36">
<TextBlock Text="Abc" FontFamily="Arial" FontWeight="Bold"/>
</ToggleButton>
<ToggleButton Height="24" HorizontalAlignment="Left" Margin="152,232,0,0" Name="extraBoldButton" VerticalAlignment="Top" Width="36">
<TextBlock Text="Abc" FontFamily="Arial" FontWeight="ExtraBold"/>
</ToggleButton>
<ToggleButton Content="Abc" FontFamily="Arial" FontStyle="Italic" Height="24" HorizontalAlignment="Left" Margin="110,261,0,0" Name="italicButton" VerticalAlignment="Top" Width="36" />
<ToggleButton Content="Abc" FontFamily="Arial" FontStyle="Oblique" Height="24" HorizontalAlignment="Right" Margin="0,261,91,0" Name="obliqueButton" VerticalAlignment="Top" Width="36" />