WPF补充(二) 资源(Resource)

一、什么是资源

通常使用 WPF 资源作为重用通常定义的对象和值的简单方法。

例如定义一种可以复用的单色的Brush对象,按钮的背景及矩形的填充颜色均使用此Brush:

     
      
           
       
       
           

在WPF中资源通常用作“样式”(Style)、样式模板、数据模板等。

二、资源的定义及XAML中引用

资源可以定义在以下几个位置:

  • 应用程序级资源:定义在App.xaml文件中,作为整个应用程序共享的资源存在

在App.xaml文件中定义:

   1: 
   5:     
   6:         
   7:     
   8: 

在ApplicationResourceDemo.xaml文件(窗体)中使用App.xaml中定义的Resource

   1: 
   5:     
   6:         
   7:     
   8: 
  • 窗体级资源:定义在Window或Page中,作为一个窗体或页面共享的资源存在
   1: 
   5:     
   6:         
   7:     
   8:     
   9:         
  10:     
  11: 
  • 文件级资源:定义在资源字典的XAML文件中,再引用
  • 在Visual Studio的WPF应用程序项目中,添加“资源字典(Resource Dictionary)”类型的项

WPF补充(二) 资源(Resource)_第1张图片

在其XAML文件中定义:

   1: 
   3:     
   4: 

在FileResourceDemo.xaml文件(窗体)中,将其注册为窗体级的资源,并引用

   1: 
   5:     
   6:         
   7:     
   8:     
   9:         
  10:     
  11: 
  • 对象(控件)级资源:定义在某个ContentControl中,作为其子容器、子控件共享的资源
  • 在Button中定义一个资源,供Button内的Content控件使用
   1: 
   5:     
   6:          
  14:     
  15: 

三、XAML解析资源的顺序

在XAML中解析资源按照由引用资源的控件向外层容器依次调用资源。例如在在应用程序级别、窗体级别及对象级别分为定义x:Key相的同资源:

在App.xaml文件中:

   1: 
   5:     
   6:         
   7:         
   8:         
   9:     
  10: 

在窗体的XAML文件中:

   1: 
   5:     
   6:         
   7:         
   8:         
   9:     
  10:     
  11:         
  12:         

WPF补充(二) 资源(Resource)_第2张图片

转自

你可能感兴趣的:(WPF)