WPF xaml Visual Studio会自动更改我的资源

时间:2016-03-09 18:50:00

标签: c# wpf visual-studio xaml visual-studio-2015

在WPF应用中使用自定义字体时遇到问题。

要使用该字体,我在标签上设置了FontFamily="pack://application:,,,/Resources/#iconfont"。但是,每当我在xaml中编辑标签的任何属性时,Visual Studio会自动将字体系列路径更改为FontFamily="iconfont",并且自定义字体不再有效。有任何解决这个问题的方法吗?我需要改变的设置?真气啊!

enter image description here

编辑:只要我在标签的属性之间切换,FontFamily保持不变。但是,如果我去编辑其他类型控件的属性,然后回到标签,FontFamily将重置为“iconfont”。

1 个答案:

答案 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}"/>

现在你的编辑不应该只是停止与你联系,但你有一个更清洁的方式来维持这个吸盘。我的意思是想象一下,如果你必须改变你的路径字符串,或者你决定使用不同的字体包,你宁愿在每个实例上,还是在一个继承到它所使用的任何地方的地方做这个?

希望这会有所帮助,欢呼。