c# - XAML TextBlock 以编程方式设置特殊字符?

标签 c# .net xaml textblock

我想在 XAML 中使用很棒的字体 (http://fortawesome.github.io/Font-Awesome/design.html)。

我已经能够通过直接 XAML 轻松地让它工作,方法是创建一个字体文件夹并在其中添加字体,然后在 XAML 中:

<TextBlock FontFamily="Fonts/#FontAwesome">&#xf000;</TextBlock>

显示马提尼杯图标。

但是,当以编程方式添加它时,它只显示无效符号,如下所示:[],我尝试了以下操作:

XAML:

<TextBlock Name="textBlock"></TextBlock>

C#:

textBlock.FontFamily = new FontFamily("Fonts/#FontAwesome");
textBlock.Text = HttpUtility.HtmlDecode("&#xf000;");

以及返回文字字符串的以下内容:

textBlock.FontFamily = new FontFamily("Fonts/#FontAwesome");
textBlock.Text = "&#xf000;";

有什么想法吗?

最佳答案

尝试以下操作:

textBlock.FontFamily= new FontFamily(new Uri("pack://application:,,,/"), @"/Fonts/#FontAwesome"); // you should well reference your font else you will get a square
textBlock.Text = "\uf000";// \u (unicode escape char) instead of &#x

如果您想预览文本 block XAML,请使用

t_out.Text = XamlWriter.Save(textBlock);

关于c# - XAML TextBlock 以编程方式设置特殊字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16408905/

相关文章:

c# - 自动化任务

.net - RavenDb 索引排序

c# - 文本框周围的部分边框

c# - 图像不透明度,打开和打开

c# - WinRT - XAML 绑定(bind) DataContext

c# - 如何防止请求中出现 "A potentially dangerous Request.Form"

c# - 如果编译它,为什么 C#7 语法中的 TryParse(清空参数)会发出警告?

c# - 如何去除字符串中的unicode字符

.net - 为什么 Roslyn 团队将 DocumentationComment 标记为内部

c# - 控制音量混合器