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 | ✅ | ✅ | ✅ |
| 想象中的 | ✅ | ||
| 附着的属性 | ✅ |
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> \”>
< 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按钮。
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> \”>
< 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
- 可见性会变器
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> \”>
< 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 | ✅ | ✅ | ✅ |
| 想象中的 | ✅ | ||
| 附着的属性 | ✅ |
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> \”>
< 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按钮。
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> \”>
< 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
- 可见性会变器
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> \”>
< 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始终”。
-
继续设置
设置
从文件系统加载字体文件
下面的示例显示了如何从“字体”目录中加载所有字体文件(带有默认名称),该目录位于执行汇编位置以外。
FontAwesome6.Fonts.FontAwesomeFonts.LoadAllStyles(Path.Combine(directory, \”Fonts\”) + \”/\”);
}
}\”>
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
FontAwesome6.Fonts.FontAwesomeFonts.LoadAllStyles(new Uri(\”pack://application:,,,/Fonts/\”));
}
}\”>
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
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/svg \" > < fa : ImageAwesome Icon = \" Duotone_Flag \" PrimaryColor = \" Black \" SecondaryColor = \" Green \" PrimaryOpacity = \" 1 \" SecondaryOpacity = \" 0.4 \" SwapOpacity = \" false \" /> </ Window >
字体
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> \”>
< 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中。
FontAwesome6.Example.WPF\”>
<local:DesignTimeFontAwesome x:Key=\”NotNeeded\”></local:DesignTimeFontAwesome>
</ResourceDictionary>\”>
< 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,然后在构造函数内添加图标 /字体加载。
FontAwesome6.Example.WPF
{
public partial class DesignTimeFontAwesome : UserControl
{
public DesignTimeFontAwesome()
{
InitializeComponent();
Svg.FontAwesomeSvg.LoadFromResource(\” FontAwesome6 .Example.WPF.Svg.FontAwesomeSvg.all.json\”, typeof(App).Assembly);
}
}
}\”>
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 ) ; } } }
