我不熟悉特殊字符,Unicodes等。 有一个非常好的项目:
The Weather Icon Font我希望在我的应用程序中使用它,所以我下载了字体文件,将其添加到我的项目中并在文本块中使用路径作为字体系列
<TextBlock Text="\f002" FontFamily="Fonts/WeatherIconFont.ttf" />
但是当我尝试使用 \ u0f002 或&amp; #xf002 时,我没有得到预期的项目,所以可以使用这个字体吗或以类似的方式或我应该去另一个?
非常感谢您提前提供的所有有用且意义重大的答案!
修改
确实我在TextBlock中使用FontFamily时犯了一个错误,我将其更改为:
<TextBlock Text="\f002" FontFamily="ms-appx:/Fonts/WeatherIconFont.ttf#Weather Icons" />
但我还是没有得到预期的项目。
答案 0 :(得分:1)
似乎从来没有清楚地回答过这个问题,所以这就是我所做的。 以下实现在WPF应用程序中对我有用。
通过下载包或Nuget将“ 天气图标”文件添加到应用程序后,执行以下操作。
步骤1:将资源添加到您的应用程序/用户控件中。
<UserControl.Resources>
<FontFamily x:Key="WeatherIcons">/fonts/weathericons-regular-webfont.ttf#Weather Icons</FontFamily>
</UserControl.Resources>
步骤2:使用所需的所需图标代码添加文本块控件,并包含作为FontFamily添加的资源。
<TextBlock Text="" FontFamily="{StaticResource WeatherIcons}" />
更新:如果您打算对这些十六进制代码使用绑定,则需要以下转换器。
public class StringToGlyphConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value.GetType() != typeof(string))
{
return null;
}
string glyph = (value as string).Substring(3, 4); // for example:  will become e11b
return (char)int.Parse(glyph, NumberStyles.HexNumber);
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return null;
}
}
答案 1 :(得分:0)
它就像 \ uf002 一样,一切正常运作!
非常感谢所有有趣和有用的评论!
答案 2 :(得分:0)
如果您最终在这里搜索UWP(Windows 10)的解决方案,那么您应该使用以下内容:
<TextBox Text="" FontFamily="ms-appx:///Assets/Fonts/WeatherIconFont.ttf#Weather Icons#Weather Icons" />