如何在 Uno 平台上使用字体图标

How to use Font Icon on Uno Platform

我正在尝试使用 docs 之后的 uno-fluentui-assets。但是它没有样本,我找不到方法来完成这项工作。

<Page
    x:Class="UnoPrism.Shared.Views.Shell"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:UnoPrism.Shared.Views"
    xmlns:prismMvvm="using:Prism.Mvvm"
    xmlns:prismRegions="using:Prism.Regions"
    prismMvvm:ViewModelLocator.AutowireViewModel="True" >

  <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
        <NavigationView Header="Super Barato">
            <NavigationView.MenuItems>
                <NavigationViewItem Content="Promoções">
                    <NavigationViewItem.Icon>
                        <FontIcon FontFamily="ms-appx:///Assets/Fonts/uno-fluentui-assets.ttf#" Glyph="&#xE117;"/>
                    </NavigationViewItem.Icon>
                </NavigationViewItem>
                <NavigationViewItem Content="Nova Promoção" Icon="Calendar"/>
            </NavigationView.MenuItems>
        </NavigationView>
  </Grid>
</Page>

字体文件已添加到 Shared/Assets/Fonts 文件夹中。结果是一个方形图标。

Uno Fluent UI 符号字体是内置模板和样式使用的特殊字体。

可以使用预定义的 FontFamily 资源手动引用它 SymbolThemeFontFamily:

<FontIcon FontFamily="{ThemeResource SymbolThemeFontFamily}" Glyph="&#xE117;"/>

使用资源而不是“字体路径”的优势在于它是面向未来的,甚至与 UWP 兼容,UWP 不使用 Uno 符号字体,而是使用 Windows Segoe MDL2 Assets。

如果您想在 Uno Platform 应用程序中使用您自己的自定义字体,请参阅此 article