如果我写
test = Application.Current.FindResource(SystemColors.ActiveBorderBrushKey);
即使Application.Current.Resources为空,test也会有一个值。
它是如何运作的?
答案 0 :(得分:0)
FindResource
将首先查看指定资源的应用程序范围资源。应用程序范围资源由Application
管理,并从Resources
属性公开。
如果在应用程序范围资源集中找不到指定的资源,则FindResource接下来搜索系统资源。系统资源是用户定义的shell资源,包括颜色,字体和shell配置。它们分别作为静态属性从SystemColors
,SystemFonts
和SystemParameters
类型公开。
http://msdn.microsoft.com/en-us/library/system.windows.application.findresource.aspx