WPF Prism:InteractionRequestTrigger PopupWindowAction使用MetroWindow

XAML文件

WPF Prism:InteractionRequestTrigger PopupWindowAction使用MetroWindow_第1张图片

后台:通过重写CreatWindow

WPF Prism:InteractionRequestTrigger PopupWindowAction使用MetroWindow_第2张图片

另外,在这里还遇到一个问题,因为官方默认控件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(),以便可以在各个点覆盖样式。

以上内容是最近开发碰到的问题,如果有什么不对,还请各位大佬多多指正!

 

你可能感兴趣的:(WPF)