Wpf 使用来自其他程序集的字体资源

Wpf 使用来自其他程序集的字体资源,wpf,fonts,resources,label,resourcedictionary,Wpf,Fonts,Resources,Label,Resourcedictionary,目前,我有一个类库项目,其中包含主题/模板和字体(作为参考资料)。然后,我在主WPF应用程序项目中引用名为Shared.UI的项目 我使用以下方法引用它: <ResourceDictionary Source="pack://application:,,,/Shared.UI;component/Skin.xaml" /> 在合并词典标记中 我遇到的问题是,主WPF应用程序无法使用作为资源构建的项目中的字体 在Shared.UI/Skins.xaml文件中,我有: <!-

目前,我有一个类库项目,其中包含主题/模板和字体(作为参考资料)。然后,我在主WPF应用程序项目中引用名为Shared.UI的项目

我使用以下方法引用它:

<ResourceDictionary Source="pack://application:,,,/Shared.UI;component/Skin.xaml" />

在合并词典标记中

我遇到的问题是,主WPF应用程序无法使用作为资源构建的项目中的字体

在Shared.UI/Skins.xaml文件中,我有:

<!-- LABEL -->
<Style TargetType="{x:Type Label}">
    <Setter Property="FontFamily" Value="./resources/#Helvetica Neue" />
    <Setter Property="Foreground" Value="{DynamicResource PrimaryBlue}" />
    <Setter Property="FontSize" Value="12" />
</Style>


我假设这在我的主WPF应用程序中不起作用,因为它在自己的
/resources
中查找
#Helvetica Neue
,但找不到它(因为它在Shared.UI中)。我还尝试显式引用
/Shared.UI;资源文件中的component/resources/#Helvetica Neue
,但这对我不起作用。

检查此链接,希望有帮助

您的文本

虽然这在理论上可以回答问题,但在此处包含答案的基本部分,并提供链接供参考。这样,如果链接失效,您的答案仍然有用。您还需要解释这是如何回答问题的,以及为什么它会解决此问题。是否有任何方法可以在样式中定义它,或者我是否需要始终在其中包含RUN标记以正确显示字体?如果我必须在每个控件中执行此操作,我可能会将字体导入到主项目中。。。它的可扩展性似乎要差得多。
<TextBlock><Run FontFamily="/FontClassLibrary;Component/#YourFontName" FontSize="20">Your Text</Run></TextBlock>