在WPF应用中使用自定义字体时遇到问题。
要使用该字体,我在标签上设置了FontFamily="pack://application:,,,/Resources/#iconfont"
。但是,每当我在xaml中编辑标签的任何属性时,Visual Studio会自动将字体系列路径更改为FontFamily="iconfont"
,并且自定义字体不再有效。有任何解决这个问题的方法吗?我需要改变的设置?真气啊!
编辑:只要我在标签的属性之间切换,FontFamily保持不变。但是,如果我去编辑其他类型控件的属性,然后回到标签,FontFamily将重置为“iconfont”。
答案 0 :(得分:2)
对于初学者来说,让我们的生活变得更轻松,通过使用长包字符串并使其成为资源管理中的定义资源(如app.xaml,window.resources),无论我们何时可以从任何需要的地方点击它。 / p>
所以不要把FontFamily="pack://application:,,,/Resources/#iconfont"
放在我们使用的每一个实例上(这可能会影响性能);
<FontFamily x:Key="IconFont">
pack://application:,,,/Resources/#iconfont
</FontFamily>
我们接受并将其放入您的资源字典或您想要的任何地方,以便从一个地方引用并加载一次,并将其提供给其他任何地方。然后在你的实例中你做;
<Label FontFamily="{StaticResource IconFont}"/>
现在你的编辑不应该只是停止与你联系,但你有一个更清洁的方式来维持这个吸盘。我的意思是想象一下,如果你必须改变你的路径字符串,或者你决定使用不同的字体包,你宁愿在每个实例上,还是在一个继承到它所使用的任何地方的地方做这个?
希望这会有所帮助,欢呼。