📜  c#外部字体系列uwp(1)

📅  最后修改于: 2023-12-03 15:29:48.771000             🧑  作者: Mango

C# 外部字体系列 UWP

介绍

UWP(Universal Windows Platform)是一种新的应用程序模型,允许开发人员在多种设备上编写应用程序。 在UWP中,开发人员可以使用不同的编程语言,如C#,VB.NET,C ++ / CX等。此外,UWP还提供了许多功能,如视觉效果,动画和样式来改善应用程序的外观和用户体验。

在UWP中使用自定义字体很常见,但是其中很多默认字体可能不符合您的应用程序需求。 解决这个问题的方法之一是使用外部字体系列。外部字体系列包含定义一组字体的XML文件和字体文件本身。通过将外部字体系列引入应用程序中,开发人员可以使用更多自定义字体。

步骤

以下是如何使用外部字体系列进行UWP应用程序的快速介绍。

1. 下载外部字体系列

首先,您需要下载外部字体系列。可以从字体厂商的网站上下载相应的字体文件,或者在网站上下载预定义的字体系列。字体厂商通常会为每个字体类型(例如粗体,斜体)提供不同的字体文件。

建议下载otf或ttf字体文件来确保良好的跨平台兼容性。下载后,将字体文件保存到应用程序目录下的Fonts文件夹中。

2. 创建外部字体系列

创建外部字体系列XML并将其保存在应用程序目录的Fonts文件夹中。

<FontFamily
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/composition"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

  <FontFamily.FamilyNames>
    <FontFamilyNames>
      <FamilyName>MyCustomFonts</FamilyName>
    </FontFamilyNames>
  </FontFamily.FamilyNames>

  <FontWeight x:Key="Normal">Normal</FontWeight>
  <FontWeight x:Key="Bold">Bold</FontWeight>

  <FontStretch x:Key="UltraCondensed">UltraCondensed</FontStretch>
  <FontStretch x:Key="ExtraCondensed">ExtraCondensed</FontStretch>
  <FontStretch x:Key="Condensed">Condensed</FontStretch>
  <FontStretch x:Key="SemiCondensed">SemiCondensed</FontStretch>
  <FontStretch x:Key="NormalStretch">Normal</FontStretch>
  <FontStretch x:Key="SemiExpanded">SemiExpanded</FontStretch>
  <FontStretch x:Key="Expanded">Expanded</FontStretch>
  <FontStretch x:Key="ExtraExpanded">ExtraExpanded</FontStretch>
  <FontStretch x:Key="UltraExpanded">UltraExpanded</FontStretch>

  <FontStyle x:Key="Normal">Normal</FontStyle>
  <FontStyle x:Key="Italic">Italic</FontStyle>

  <FontFamily.Source>
    <FontSource>Fonts/MyCustomFonts.ttf#MyCustomFonts</FontSource>
  </FontFamily.Source>

</FontFamily>

XML中的所有字体属性可以使用字体厂商提供的字体属性进行更改,以适应您的应用程序需求。

3. 引入外部字体系列

在应用程序的App.xaml文件中添加以下代码:

<Application
  ...
  xmlns:system="using:System"
  xmlns:local="using:MyApp">

  <Application.Resources>
    <ResourceDictionary>
      <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="ms-appx:///Fonts/MyCustomFonts.xml"/>
      </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
  </Application.Resources>

</Application>

确保在将字体资源引入应用程序之前将字体系列XML和字体文件添加到应用程序目录中。这里将字体系列XML添加到应用程序目录中的Fonts文件夹中,并使用ResourceDictionary将其引入应用程序。

4. 使用自定义字体

现在,您可以在应用程序中使用自定义字体了。只需在XAML中使用自定义字体系列的名称即可。例如,以下代码在UWP应用程序中使用自定义字体:

<TextBlock
  FontFamily="MyCustomFonts"
  Text="Hello World!"
  ...
  />

注意到FontFamily中的文字:“MyCustomFonts”是在步骤2中定义的名称。

结论

使用自定义字体可以在UWP应用程序中为用户提供更好的体验,并为开发人员提供更多灵活性。通过定义自己的字体系列,可以确保UWP应用程序提供一致的外观和用户体验。