C#程序设计及应用教程 第3版 “十二五”普通高等教育本科国家级规划教材 教学课件 ppt 作者 马骏 第9章 资源与样式控制

上传人:E**** 文档编号:89343484 上传时间:2019-05-23 格式:PPT 页数:40 大小:1.22MB
返回 下载 相关 举报
C#程序设计及应用教程 第3版  “十二五”普通高等教育本科国家级规划教材  教学课件 ppt 作者  马骏 第9章 资源与样式控制_第1页
第1页 / 共40页
C#程序设计及应用教程 第3版  “十二五”普通高等教育本科国家级规划教材  教学课件 ppt 作者  马骏 第9章 资源与样式控制_第2页
第2页 / 共40页
C#程序设计及应用教程 第3版  “十二五”普通高等教育本科国家级规划教材  教学课件 ppt 作者  马骏 第9章 资源与样式控制_第3页
第3页 / 共40页
C#程序设计及应用教程 第3版  “十二五”普通高等教育本科国家级规划教材  教学课件 ppt 作者  马骏 第9章 资源与样式控制_第4页
第4页 / 共40页
C#程序设计及应用教程 第3版  “十二五”普通高等教育本科国家级规划教材  教学课件 ppt 作者  马骏 第9章 资源与样式控制_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《C#程序设计及应用教程 第3版 “十二五”普通高等教育本科国家级规划教材 教学课件 ppt 作者 马骏 第9章 资源与样式控制》由会员分享,可在线阅读,更多相关《C#程序设计及应用教程 第3版 “十二五”普通高等教育本科国家级规划教材 教学课件 ppt 作者 马骏 第9章 资源与样式控制(40页珍藏版)》请在金锄头文库上搜索。

1、教育部普通高等教育十二五国家级规划教材 C#程序设计及应用教程第3版 (包括简化版:C#程序设计教程第3版) 第9章资源与样式控制,2,Ch9 资源与样式控制,9.1 文件属性与文件资源 9.2 XAML资源和样式控制 9.3 在Style元素中使用模板和触发器 9.4 主题(Themes) 9.5 本地化处理,9.1 文件属性与文件资源,9.1.1 WPF项目中的文件属性 9.1.2 嵌入的资源和链接的资源 9.1.3 内容文件和SplashScreen,3,4,9.1 文件属性与文件资源,资源及资源文件 资源是指项目中可以和C#代码分离的固定不变的信息。 资源文件是指不能直接执行的文件,例

2、如图像、字符串、图标、声音、视频、XAML文件等。 9.1.1 WPF项目中的文件属性,样式,主题,资源,文件属性,9.1.1 WPF项目中的文件属性,1复制到输出目录 不复制:指编译项目时,不将该文件复制到输出目录。 始终复制:指每次编译项目时,都将该文件复制到输出目录下。 如果较新则复制:指每次编译项目时,如果项目下的文件比输出目录下的文件新,则将项目下的文件复制到输出目录。 2生成操作 文件的【生成操作】(Build Action)属性有两个含义, 将该文件添加到项目中时如何对其进行处理 编译和部署项目时如何处理该文件,5,编译项目时,将项目生成的文件保存在哪个文件夹下,9.1.1 WP

3、F项目中的文件属性,6,9.1.1 WPF项目中的文件属性,3自定义工具 自定义工具表示将文件添加到项目中时(新建文件或者添加现有文件),系统自动调用哪个工具对该文件进行转换处理,以及在项目中如何保存转换后的文件。 该属性为程序员转换各种文件使其成为内容文件提供了灵活的处理手段。,7,9.1.2 嵌入的资源和链接的资源,简介 嵌入的资源 将资源文件嵌入到Resource.resx中 链接的资源 将资源文件单独保存在项目中,而在扩展名为.resx的文件中只保存资源文件的链接 在WPF和Silverlight项目中,首选方式是将资源文件作为链接的资源,而不是作为嵌入的资源。,8,9.1.2 嵌入的

4、资源和链接的资源,1嵌入的资源 操作方式 对于在多个项目之间共享的资源文件,如果不希望开发人员修改资源数据文件的内容,例如包含公司徽标、商标信息等文件,使用嵌入的资源也是一种可选择的方案。【优缺点均有】 一般将数据库连接字符串作为嵌入的资源来保存。 获取:string s = Properties.Resource.ConnectionString; 修改:双击Properties文件夹下的Resource.resx文件,9,9.1.2 嵌入的资源和链接的资源,2链接的资源 简介:链接的资源是指将文件添加到项目中时,在对应的扩展名为.resx的文件中只保存这些文件的相对路径或链接,而被链接的这

5、些文件仍然单独存储,而且可编辑。编译项目时,这些文件连同与其对应的.resx文件一起被编译到应用程序清单中,即嵌入到生成的.exe或者.dll文件中。 操作方式:添加和删除链接的资源文件见【操作演示】 备注:对于容量比较大的文件(如图像文件、视频文件等),除非使用非常频繁,否则一般不要将其作为资源来处理,而应该将其作为内容文件。,10,9.1.3 内容文件和SplashScreen,1内容文件 内容文件是指将文件添加到项目中时,生成操作将该文件转换为内容(Content)。 内容文件是作为松散文件与可执行程序集一起分发的。虽然不将这些文件编译到程序集中,但编译时在程序集中保存了与这些文件的关联

6、。 2SplashScreen SplashScreen(初始屏幕)是指在显示主窗口之前显示的屏幕界面。初始屏幕由一幅图像和一种背景色组成,建议使用透明的、大小为620300像素的PNG图像作为初始屏幕图像。 操作方式:【操作演示】,11,9.2 XAML资源和样式控制,9.2.1 XAML资源 9.2.2 Style元素 9.2.3 在Style元素中设置属性和事件 9.2.4 样式的级联控制 9.2.5 使用C#代码定义和引用样式,12,9.2.1 XAML资源,简介: XAML资源是指用XAML描述的在应用程序中的不同位置可以重用的对象,例如样式(Style)、画笔(Brush)等都是X

7、AML资源。 注意:XAML资源和扩展名为.resx的资源文件不是一个概念。换句话说,XAML资源的扩展名是.xaml而不是.resx,这些文件的【生成操作】属性都是“Page”,而且这些文件都会被编译到程序集中。 1声明和引用XAML资源 在XAML中,用元素的Resources属性来声明XAML资源。,13,9.2.1 XAML资源,引用资源 在元素的Resource属性中声明了XAML资源以后,就可以在该元素的子元素中利用XAML标记扩展引用声明的XAML资源。,14,你好!,声明,引用,9.2.1 XAML资源,2静态资源和动态资源 XAML资源分类: 静态资源(StaticResou

8、rce)是指用StaticResource keyName标记扩展引用的资源。 执行速度快,但无法动态改变 动态资源(DynamicResource)是指用DynamicResource keyName标记扩展引用的资源。 可以动态改变,但执行速度慢,15,9.2.2 Style元素,WPF应用程序中的样式是利用XAML资源来实现的。即在XAML资源中用Style元素声明样式和模板,并在控件中引用它。 Style元素的常用形式为 ,16,9.2.2 Style元素,1隐式样式设置(只声明TargetType) 2显式样式设置(只声明x:Key) 3同时声明x:Key和TargetType 4样

9、式继承(声明中包含BasedOn) 如果样式声明中包含BasedOn,则该样式将继承BasedOn中定义的样式。其效果就是将该样式和BasedOn中的样式合并起来共同起作用。,17,9.2.3 在Style元素中设置属性和事件,简介:在Style元素中,用Setter设置元素的属性实现样式定义,用EventSetter设置事件。 1属性设置 (1)用特性语法定义Setter (2)用属性语法定义Setter,18,用特性语法定义Setter时,每个Setter都必须包括Property属性和Value属性。 例如: ,当某些属性无法用特性语法来描述时,也可以用属性语法来实现,此时在Setter

10、元素中定义Property属性,在Setter元素的子元素中定义Value属性。 ,9.2.3 在Style元素中设置属性和事件,2事件设置:在XAML资源的和之间,可以用EventSetter设置事件。,19,private void Button2_Click (object sender, RoutedEventArgs e) string btnContent = (e.Source as Button).Content.ToString(); MessageBox.Show(btnContent); e.Handled = true; ,在Button2_Click事件中,如果不加e

11、.Handled = true;,则单击此按钮时,将弹出两次消息框。一次是自身引发的,另一次是样式引发的。,9.2.4 样式的级联控制,简介:在XAML中,最基本的样式控制形式就是用内联式来实现。除了内联样式以外,还可以在XAML资源中声明样式,然后在控件中引用这些样式。 分类:根据XAML资源声明的位置,可将样式定义分为 元素样式 应用程序样式 资源字典 将这些样式通过Style标记的BasedOn依次继承(级联),再将其和内联式结合起来,就可以得到最终的有效样式。,20,9.2.4 样式的级联控制,1内联式 内联式是指在元素的开始标记内直接用特性语法声明元素的样式。,21, 文本1 文本2

12、 ,内联式适用于单独控制元素样式的情况。,优点是设置样式直观、方便,缺点是无法一次性设置所有窗口或页面中相同的样式,9.2.4 样式的级联控制,2框架元素样式 框架元素样式是指在框架元素(包括根元素)的Resource属性中定义的样式,这种样式的作用范围为该元素的所有子元素。 框架元素是指从FrameworkElement或FrameworkContentElement继承的元素,根元素(Window、Page、UserControl等)只是一种特殊的框架元素。,22,【例9-1】演示框架元素样式的基本用法,运行后,9.2.4 样式的级联控制,23,【例9-2】演示根元素样式的基本用法,运行后

13、,9.2.4 样式的级联控制,3应用程序样式 应用程序样式是指在App.xaml文件的Application.Resources属性中声明的样式。这种样式的作用范围为整个应用程序项目,对项目中的所有窗口或页面都起作用。,24,【例9-3】演示应用程序样式的基本用法,运行后,9.2.4 样式的级联控制,4资源字典 资源字典是指在单独的XAML文件中用ResourceDictionary定义的样式。在元素样式、应用程序样式中都可以包含ResourceDictionary。 定义资源字典后,既可以让其只对某个元素或者某一页起作用,也可以对项目的所有元素都起作用。另外,还可以在一个ResourceDi

14、ctionary中合并其他的ResourceDictionary。,25,【例9-4】演示资源字典的基本用法,9.2.5 使用C#代码定义和引用样式,用XAML定义的资源如果声明了键(Key),则可以在C#代码中访问这些资源。实际上,不论是哪种XAML资源,编译或执行应用程序的时候,这些XAML资源最终都会被整合到WPF应用程序的ResourceDictionary对象中,供C#代码访问。,26,ResourceDictionary d1 = border1.Resources; d1.Add(“backgroundKey“, Brushes.Blue);,声明,访问,9.2.5 使用C#代码

15、定义和引用样式,27,【例9-5】演示如何用C#代码定义和引用样式,9.3 在Style元素中使用模板和触发器,9.3.1 模板 在XAML资源的Style元素中,可以利用模板自定义控件的外观 9.3.2 触发器 某种条件发生变化时自动触发某些动作,28,9.3.1 模板,1样式模板化 样式模板化是指利用控件模板(ControlTemplate)定义控件的外观,从而让控件呈现出各种形式。 在Style中,用Template属性定义控件的模板。,29,【例9-6】演示样式模板化的基本用法,2数据模板化:略,9.3.2 触发器,1属性触发器 属性触发器是指用控件的属性作为触发条件,即当对象的属性发

16、生变化时自动更改对应的其他属性。 有两种类型的属性触发器,一种是Trigger,用于单条件触发;另一种是MultiTrigger,用于多条件触发。,30,9.3.2 触发器,2事件触发器 事件触发器(EventTrigger)是指用路由事件(RoutedEvent)作为触发条件,即当引发指定的路由事件时启动一组操作,例如动画等。,31, ,9.3.2 触发器,3数据触发器 数据触发器(DataTrigger和MultiDataTrigger): DataTrigger用控件的DataContext的属性作为触发条件。 MultiDataTrigger用控件的DataContext的多个属性作为触发条件。,32,【例9-7】演示触发器的基本用法,9.4 主题(Themes),9.4.1 系统主题 9.4.2 自定义主题,33,9.4.1 系统主题,系统主题是指操作系统级别的主题,这些主题都保存在对应的.dll文件中。主要有: Aero.NormalColor.xaml:Windows 7

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号