WPF第五章资源

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

一、什么是资源通常使用WPF资源作为重用通常定义的对象和值的简单方法。例如定义一种可以复用的单色的Brush对象,按钮的背景及矩形的填充颜色均使用此Brush:1:Windowx:Class=WPFResource.WinBasicResource2:xmlns=:xmlns:x=:Title=BasicResourceHeight=200Width=3005:Window.Resources6:SolidColorBrushx:Key=myBrushColor=Gold/7:/Window.Resources8:StackPanel9:ButtonMargin=5Content=SampleButtonBackground={StaticResourcemyBrush}/10:RectangleMargin=5Width=100Height=100Fill={StaticResourcemyBrush}/11:/StackPanel12:/Window在WPF中资源通常用作“样式”(Style)、样式模板、数据模板等。二、资源的定义及XAML中引用资源可以定义在以下几个位置:应用程序级资源:定义在App.xaml文件中,作为整个应用程序共享的资源存在在App.xaml文件中定义:1:Applicationx:Class=WPFResource.App2:xmlns=:xmlns:x=:StartupUri=Window1.xaml5:Application.Resources6:SolidColorBrushColor=Goldx:Key=myGoldBrush/7:/Application.Resources8:/Application在ApplicationResourceDemo.xaml文件(窗体)中使用App.xaml中定义的Resource1:Windowx:Class=WPFResource.ApplicationResourceDemo2:xmlns=:xmlns:x=:Title=ApplicationResourceDemoHeight=300Width=3005:StackPanel6:ButtonMargin=5Background={StaticResourcemyGoldBrush}SampleButton/Button7:/StackPanel8:/Window窗体级资源:定义在Window或Page中,作为一个窗体或页面共享的资源存在1:Windowx:Class=WPFResource.WindowResourceDemo2:xmlns=:xmlns:x=:Title=WindowResourceDemoHeight=300Width=3005:Window.Resources6:SolidColorBrushx:Key=myRedBrushColor=Red/7:/Window.Resources8:StackPanel9:ButtonMargin=5Background={StaticResourcemyRedBrush}SampleButton/Button10:/StackPanel11:/Window文件级资源:定义在资源字典的XAML文件中,再引用在VisualStudio的WPF应用程序项目中,添加“资源字典(ResourceDictionary)”类型的项在其XAML文件中定义:1:ResourceDictionaryxmlns=:xmlns:x=:SolidColorBrushx:Key=myWhiteBrushColor=White/4:/ResourceDictionary在FileResourceDemo.xaml文件(窗体)中,将其注册为窗体级的资源,并引用1:Windowx:Class=WPFResource.FileResourceDemo2:xmlns=:xmlns:x=:Title=FileResourceDemoHeight=300Width=3005:Window.Resources6:ResourceDictionarySource=MyResourceDictionary.xaml/7:/Window.Resources8:StackPanel9:ButtonMargin=5Background={StaticResourcemyWhiteBrush}SampleButton/Button10:/StackPanel11:/Window对象(控件)级资源:定义在某个ContentControl中,作为其子容器、子控件共享的资源在Button中定义一个资源,供Button内的Content控件使用1:Windowx:Class=WPFResource.ControlResourceDemo2:xmlns=:xmlns:x=:Title=ControlResourceDemoHeight=300Width=3005:StackPanel6:ButtonMargin=57:Button.Resources8:SolidColorBrushx:Key=myGreenBrushColor=Green/9:/Button.Resources10:Button.Content11:TextBlockText=SampleTextBackground={StaticResourcemyGreenBrush}/12:/Button.Content13:/Button14:/StackPanel15:/Window三、XAML解析资源的顺序在XAML中解析资源按照由引用资源的控件向外层容器依次调用资源。例如在在应用程序级别、窗体级别及对象级别分为定义x:Key相的同资源:在App.xaml文件中:1:Applicationx:Class=WPFResource.App2:xmlns=:xmlns:x=:StartupUri=MultiResourceReference.xaml5:Application.Resources6:!--应用程序级资源--7:SolidColorBrushColor=Goldx:Key=myGoldBrush/8:SolidColorBrushColor=Bluex:Key=myBrush/9:/Application.Resources10:/Application在窗体的XAML文件中:1:Windowx:Class=WPFResource.MultiResourceReference2:xmlns=:xmlns:x=:Title=MultiResourceReferenceHeight=265Width=3005:Window.Resources6:!--窗体级资源--7:SolidColorBrushColor=Whitex:Key=myWhiteBrush/8:SolidColorBrushColor=Greenx:Key=myBrush/9:/Window.Resources10:StackPanel11:!--使用应用程序级定义的资源--12:ButtonMargin=5Content=SampleButtonBackground={StaticResourcemyGoldBrush}/13:14:!--使用窗体级定义的资源--15:ButtonMargin=5Content=SampleButtonBackground={StaticResourcemyWhiteBrush}/16:17:!--窗体级资源的值覆盖应用程序级资源的值--18:ButtonMargin=5Content=SampleButtonBackground={StaticResourcemyBrush}/19:20:StackPanelBackground=#FF99999921:StackPanel.Resources22:!--对象级资源--23:SolidColorBrushColor=Yellowx:Key=myYellowBrush/24:SolidColorBrushColor=Redx:Key=myBrush/25:/StackPanel.Resources26:27:!--使用应用程序级定义的资源--28:ButtonMargin=5Content=SampleButtonBackground={StaticResourcemyGoldBrush}/29:30:!--使用窗体级定义的资源--31:ButtonMargin=5Content=SampleButtonBackground={StaticResourcemyWhiteBrush}/32:33:!--使用对象级定义的资源--34:ButtonMargin=5Content=SampleButtonBackground={StaticResourcemyYellowBrush}/35:36:!--使用对象级定义的资源覆盖窗体级、应用程序级定义的资源--37:ButtonMargin=5Content=SampleButtonBackground={StaticResourcemyBrush}/38:/StackPanel39:/StackPanel40:/Window四、静态资源(Sta

1 / 9
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功