XAML文件
后台:通过重写CreatWindow
另外,在这里还遇到一个问题,因为官方默认控件title不是微软雅黑,我想设置为微软雅黑
官方给了两个方案
1、因为Title是动态绑定的,绑定的规则应该是谁里的近,就绑定哪个Key值。所以通过重写Key,即可实现!
微软雅黑
但是我发现,我将这段代码写进resourceDictionary,没效果。原因还没找到!
于是,我开始尝试官方给的第二种方法,重写TitleTemplate
\
然后在后台通过代码引用:
在寻找资源的时候:我使用了两种方式,首先尝试的就是Application.Current.Resources["Key"],但是没有效果,通过断点查看,发现,没有找到自定义的资源。
于是,开始尝试第二种方式FrameworkElement.FindResource("Key"),方法可行!
寻找资源有两种方式:Application.Current.FindResource() FrameworkElement.FindResource的区别。
可以在可视树中的几乎任何元素上定义资源。
FrameworkElement.FindResource()将在树上爬,在每个节点上寻找资源,并最终将其一直传递到Application。Application.Current.FindResource []跳过所有这些,直接进入Application上的资源。您几乎总是想使用FindResource(),以便可以在各个点覆盖样式。
以上内容是最近开发碰到的问题,如果有什么不对,还请各位大佬多多指正!