【问题标题】:How do I reference a font resource in a satellite assembly?如何在附属程序集中引用字体资源?
【发布时间】:2011-01-04 17:16:14
【问题描述】:

我有一个本地化的 WPF 应用程序,我需要为每个语言环境嵌入一个字体。我在我的项目中添加了一个字体,它的 Build Action 设置为 Resource。如果我从我的 .csproj 中删除 <UICulture>en-US</UICulture>(这消除了附属程序集的创建),则字体将作为资源编译到项目程序集中。然后我可以通过以下方式添加字体:

<Button Content="My Button" FontFamily="Fonts/#Frutiger LT 87 ExtraBlackCn" />

这非常有效。如果我将 en-US 添加回我的 .csproj 字体会被添加到本地化的卫星程序集中。但是

<Button x:Uid="Button1" Content="My Button" FontFamily="Fonts/#Frutiger LT 87 ExtraBlackCn" />

不再有效。

我应该如何引用本地化字体?

【问题讨论】:

    标签: wpf localization fonts satellite-assembly


    【解决方案1】:

    虽然这不能直接回答您的问题,但WPF Globalization and Localization Overview 上的 MSDN 页面似乎建议您:

    创建自定义复合字体,以更好地控制用于不同语言的字体。

    这个想法是您使用单一的“复合”字体,其中包含您可能想要使用的所有语言的字体。有关复合字体的更多信息(包括示例),请参阅 MSDN 上的FontFamily Documentation

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-19
      • 1970-01-01
      • 2011-02-05
      • 1970-01-01
      相关资源
      最近更新 更多