WPF 怎么使用资源文件中的字体

WPF 怎么使用资源文件中的字体,第1张

1: WPF不支持直接实例化TTF文件。TTF 字体需要先安装到系统中。(想让程序自动装TTF请看这里http://blog.csdn.net/nickwar/article/details/5174259)

2:然后把装好的字体名称放入资源中。

3:参考我给出的代码设置FontFamily属性:

。。。。。。。。。。。。。。。。。。

 public MainWindow()

        {

            InitializeComponent()

            FontFamily family=GetFontFamily("Your installed TTF font name")

            this.FontFamily = family ?? this.FontFamily

        }

 

        private FontFamily GetFontFamily(String resourceKey)

        {

            if (String.IsNullOrEmpty(resourceKey))

            {

                return null

            }

            FontFamily fontFamily = null

            Object ttfName = this.TryFindResource(resourceKey)

            if (ttfName != null)

            {

                fontFamily = new FontFamily(ttfName.ToString())

            }

            return fontFamily

        }

。。。。。。。。。。。。。。。。。。。

不太清楚你这个异常是怎么引起的,可能是XP中缺少字体的原因吧。

1. 你可以把缺少的字体,安装到XP上,不过看你意思似乎不行。

2. 动态加载字体,即把字体打包到你的程序中,这样不管对方电脑有没有这种字体,都可以跑你的程序了。示例:

在你项目的resources目录中加入Pericles Light字体

myTextBlock.FontFamily = new FontFamily(new Uri("pack://application:,,,/"), "./resources/#Pericles Light")

当然你也可以在XAML中动态加载字体。

更详细的说明见MSDN:http://msdn.microsoft.com/zh-cn/library/ms653301%28v=vs.100%29.aspx


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/7894768.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存