fontawesome 6
WPF(.NET和.NET Core),Web最受欢迎的图标集和工具包的UWP和Winui控件。
字体令人陶醉的版本:6.2.0
打破变化
现在,该软件包分为两个软件包,用于SVG和字体。因此,名称空间也需要分开。这意味着旧名称空间http://schemas.*fo*nt*awesome.com/icons已分为http://schemas.*fo*nt*awesome.com/icons/svg和http://schemas.*fo*nt*awesome.com/icons/fonts 。
FontAwesome6 (免费)
FontAwesome6 .svg
安装
安装FontAwesome6 .svg软件包: Install-Package FontAwesome6 .Svg或安装FontAwesome6 .svg.winui软件包: Install-Package FontAwesome6 .Svg.WinUI
用法
控件
| 控制 | .NET框架和.NET | Winui | UWP |
|---|---|---|---|
| svgawesome | ✅ | ✅ | ✅ |
| 想象中的 | ✅ | ||
| 附着的属性 | ✅ |
< Window x : Class = " FontAwesome6 .Example.WPF.MainWindow "
xmlns : fa = " http://schemas.*fo*nt*awesome.com/icons/svg " >
< fa : ImageAwesome Icon = " Solid_Flag " />
< fa : SvgAwesome Icon = " Solid_Flag " />
</ Window >
有关高级用法,请参见示例项目。
附加属性(.NET Framework&.net)
可用于以下控件:
- 图像
- Viewbox
- 所有继承ContentControl的控件,EX按钮。
< Window x : Class = " FontAwesome6 .Example.WPF.MainWindow "
xmlns : fa = " http://schemas.*fo*nt*awesome.com/icons/svg/properties " >
< Button fa:FontAwesome.Icon= " Solid_Flags " />
< Image fa:FontAwesome.Icon= " Solid_Flags " />
</ Window >
有关高级用法,请参见示例项目。
转换器(.NET框架和.NET)
可用转换器:
- DrawingConverter
- Iconnameconeconverter
- ImageSourCeconverter
- StyleConverter
- 可见性会变器
< Window x : Class = " FontAwesome6 .Example.WPF.MainWindow "
xmlns : fa = " http://schemas.*fo*nt*awesome.com/icons/svg " >
< Window .Resources>
< fa : ImageSourceConverter x : Key = " ImageSourceConverter " />
</ Window .Resources>
< Image Source = " {Binding SelectedIcon, Converter={StaticResource ImageSourceConverter}} " />
</ Window >
有关高级用法,请参见示例项目。
FontAwesome6 .fonts
安装
安装FontAwesome6 .fonts软件包: Install-Package FontAwesome6 .Fonts或安装FontAwesome6 .fonts.winui软件包: Install-Package FontAwesome6 .Fonts.WinUI
用法
控件
| 控制 | .NET框架和.NET | Winui | UWP |
|---|---|---|---|
| fontawesome | ✅ | ✅ | ✅ |
| 想象中的 | ✅ | ||
| 附着的属性 | ✅ |
< Window x : Class = " FontAwesome6 .Example.WPF.MainWindow "
xmlns : fa = " http://schemas.*fo*nt*awesome.com/icons/fonts " >
< fa : ImageAwesome Icon = " Solid_Flag " />
< fa : FontAwesome Icon = " Solid_Flag " />
</ Window >
有关高级用法,请参见示例项目。
附加属性(.NET Framework&.net)
可用于以下控件:
- 图像
- 所有继承ContentControl的控件,EX按钮。
< Window x : Class = " FontAwesome6 .Example.WPF.MainWindow "
xmlns : fa = " http://schemas.*fo*nt*awesome.com/icons/fonts/properties " >
< Button fa:FontAwesome.Icon= " Soild_Flags " />
< Image fa:FontAwesome.Icon= " Soild_Flags " />
</ Window >
有关高级用法,请参见示例项目。
转换器(.NET框架和.NET)
可用转换器:
- DrawingConverter
- Iconnameconeconverter
- ImageSourCeconverter
- StyleConverter
- 可见性会变器
< Window x : Class = " FontAwesome6 .Example.WPF.MainWindow "
xmlns : fa = " http://schemas.*fo*nt*awesome.com/icons/fonts " >
< Window .Resources>
< fa : ImageSourceConverter x : Key = " ImageSourceConverter " />
</ Window .Resources>
< Image Source = " {Binding SelectedIcon, Converter={StaticResource ImageSourceConverter}} " />
</ Window >
有关高级用法,请参见示例项目。
FontAwesome6 .pro
FontAwesome6 .pro.svg
FontAwesome6 .pro.svg nuget软件包不包含任何图标SVG数据。您需要自己提供FontAwesome6 Pro SVG数据。 (请参阅安装)
安装
安装FontAwesome6 .pro.svg软件包:
Install-Package FontAwesome6 .Pro.Svg或安装FontAwesome6 .pro.svg.winui软件包:Install-Package FontAwesome6 .Pro.Svg.WinUI从网站下载FontAwesome6的桌面版本:https://fontawesome.com/download
-
将FontAwesome6提取到“ font-awesome-pro”中,然后执行
FontAwesome6 .Generator.exe。fontawesome版本:指定一代版本。 EX 6.0.0-BETA3
激活Pro版本复选框
来源词典:不需要
fontawesome SVG目录:所有Fontawesome SVG文件的目录。 Ex-font-Awesome-Pro/SVGS
输出目录:SVG文件保存到的目录。
生成的
FontAwesome6 Svg.json应作为内容或嵌入式资源集成到您的项目中。继续设置
设置
FontAwesome6 .pro.fonts
FontAwesome6 .pro.fonts nuget软件包不包含任何字体文件。您需要自己提供FontAwesome6 Pro TTF文件。 (请参阅安装)
安装
安装FontAwesome6 .pro.fonts软件包:
Install-Package FontAwesome6 .Pro.Fonts或安装FontAwesome6 .pro.fonts.winui软件包:Install-Package FontAwesome6 .Pro.Fonts.WinUI从网站下载FontAwesome6的网络版本:https://fontawesome.com/download
将所有必需的FontAwesome6样式TTF文件(例如: fa-regular-400 )内含在您的项目中,作为“内容”和“ coppy始终”。
继续设置
设置
从文件系统加载字体文件
下面的示例显示了如何从“字体”目录中加载所有字体文件(带有默认名称),该目录位于执行汇编位置以外。
public partial class App : Application
{
public App ( )
{
var directory = Path . GetDirectoryName ( Assembly . GetExecutingAssembly ( ) . Location ) ;
FontAwesome6 . Fonts . FontAwesomeFonts . LoadAllStyles ( Path . Combine ( directory , "Fonts" ) + "/" ) ;
}
}
从资源加载字体文件
配x (仅限.NET Framework&.NET)使用资源中的字体将创建内存泄漏。为了防止其从文件系统加载字体。
下面的示例显示了如何将所有字体文件(带有默认名称)作为资源加载。这些文件位于“字体”目录中的解决方案内部,并将“资源”作为内容。
.NET框架和.NET
public partial class App : Application
{
public App ( )
{
FontAwesome6 . Fonts . FontAwesomeFonts . LoadAllStyles ( new Uri ( "pack://application:,,,/Fonts/" ) ) ;
}
}
Winui&UWP
public sealed partial class MainPage : Page
{
public MainPage ( )
{
Fonts . FontAwesomeFonts . LoadFonts ( new Uri ( "ms-appx:///Fonts/" ) ) ;
}
}Duotone
SVG
< Window x : Class = " FontAwesome6 .Example.WPF.MainWindow "
xmlns : fa = " http://schemas.*fo*nt*awesome.com/icons/svg " >
< fa : ImageAwesome Icon = " Duotone_Flag "
PrimaryColor = " Black "
SecondaryColor = " Green "
PrimaryOpacity = " 1 "
SecondaryOpacity = " 0.4 "
SwapOpacity = " false " />
</ Window >
字体
< Window x : Class = " FontAwesome6 .Example.WPF.MainWindow "
xmlns : fa = " http://schemas.*fo*nt*awesome.com/icons/fonts " >
< fa : ImageAwesome Icon = " Duotone_Flag "
PrimaryColor = " Black "
SecondaryColor = " Green "
PrimaryOpacity = " 1 "
SecondaryOpacity = " 0.4 "
SwapOpacity = " false " />
</ Window >
加载设计师中的图标
在Properties目录中添加DesignTimeResource.xaml ,并在任何地方(Ex DesignTimeFontAwesome.xaml )添加新的USERCONTROL。然后将UserControl添加到ResourceCredectory中。
< ResourceDictionary
xmlns = " http://schemas.m**icr*osoft.com/winfx/2006/xaml/presentation "
xmlns : x = " http://schemas.mi**c*rosoft.com/winfx/2006/xaml "
xmlns : local = " clr-namespace: FontAwesome6 .Example.WPF " >
< local : DesignTimeFontAwesome x : Key = " NotNeeded " ></ local : DesignTimeFontAwesome >
</ ResourceDictionary >
之后,您需要修改.csproj文件并将DesignTimeResource.xaml的条目更改为以下内容:
<Page Include="Properties\DesignTimeResources.xaml" Condition="'$(DesignTime)'=='true' OR ('$(SolutionPath)'!='' AND Exists('$(SolutionPath)') AND '$(BuildingInsideVisualStudio)'!='true' AND '$(BuildingInsideExpressionBlend)'!='true')">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
<ContainsDesignTimeResources>true</ContainsDesignTimeResources>
</Page>
创建一个名为DesignTimeFontAwesome.xaml的新的USERCONTROL,然后在构造函数内添加图标 /字体加载。
using System . Windows . Controls ;
namespace FontAwesome6 . Example . WPF
{
public partial class DesignTimeFontAwesome : UserControl
{
public DesignTimeFontAwesome ( )
{
InitializeComponent ( ) ;
Svg . FontAwesomeSvg . LoadFromResource ( " FontAwesome6 .Example.WPF.Svg.FontAwesomeSvg.all.json" , typeof ( App ) . Assembly ) ;
}
}
}
通过命令行克隆项目: