2

我有一个库,其中包含一个 ThemeResources 文件,其中包含样式。

在此处输入图像描述

在字体文件夹中,我有一个字体文件 BuxtonSketch.ttf。Build Action 就像 RESOURCE

在此处输入图像描述

在 ThemeResources 中,我定义了字体:

<FontFamily x:Key="FontFamily-Sketch">pack://application:,,,/Resources/Fonts/#Buxton Sketch</FontFamily>

<Style x:Key="TextNormalStyle" TargetType="TextBlock">
    <Setter Property="FontFamily" Value="{StaticResource FontFamily-Sketch}" />
</Style>

由于我的 UserControl 调用了 ProblemUserControl,我调用了但没有工作

<UserControl.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="/Resources/ThemeResources.xaml" />
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</UserControl.Resources>

<Grid>
    <TextBlock Text="La pelicula PROMETHEUS!" Style="{StaticResource TextNormalStyle}" />
</Grid>

会发生什么?

4

3 回答 3

5

This blogthis blog都使用以下语法来使用自定义字体

博客 1:

<TextBlock Text="SOTC Custom Fonts!" FontFamily="VINERITC.TTF#Viner Hand ITC"/>

博客2:

<TextBlock Text="Gothic" FontFamily="./GOTHIC.TTF#Century Gothic"/>

所以对你来说,我认为它会是

<TextBlock Text="Buxton" FontFamily="BuxtonSketch.TTF#Buxton Sketch"/>

或为你的风格

<Style x:Key="TextNormalStyle" TargetType="TextBlock">
    <Setter Property="FontFamily" Value="BuxtonSketch.TTF#Buxton Sketch" />
</Style>

您可能需要包含文件夹位置,但不确定

<TextBlock Text="Buxton" FontFamily="Resources/Fonts/BuxtonSketch.TTF#Buxton Sketch"/>
于 2012-07-02T23:29:11.493 回答
0

您也可以将字体添加到 .zip 文件并像这样访问:

<Setter Property="FontFamily" Value="../Resources/Fonts/Fonts.zip#BuxtonSketch"/>
于 2012-07-03T05:41:59.553 回答
0

我刚刚花了一整天的时间研究这个问题。将字体复制到项目中时,请确保 Visual Studio 将Build Action这些项目的 设置为Resource. 我所要做的就是在下拉列表中更改它。

于 2020-11-03T21:49:09.900 回答