Blend创建或修改模板

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

创建或修改模板
控件的外观由美工板上应用于控件的模板定义。

模板包括控件内所包含的对象。

例如,“TextBox”的控件模板包含一个名为“Bd”的Border 对象,而后者又包含一个名为“PART_ContentHost”的“ScrollViewer”对象。

在对美工板上的“TextBox”应用该控件模板时,“ScrollViewer”对象将显示“TextBox”的内容。

编辑TextBox 控件的模板
系统控件的默认模板使用动态主题,可根据应用程序是运行在Windows XP 计算机上还是运行在Windows Vista 计算机上,来改变控件的外观。

但是,如果修改系统控件的模板,则您的控件在Windows XP 和Windows Vista 上的外观将变得一样。

有关详细信息,请参阅设置支持模板的控件的样式中的“主题”一节。

控件模板以资源的形式保存,可应用于同一类型的其他控件。

创建控件模板
1.在“对象和时间线”面板中或在美工板上,选择要从中创建控件模板的对象,然后执行下
列操作之一:
∙在“对象”菜单中,指向“编辑模板”。

∙右键单击对象,然后指向“编辑模板”。

∙在美工板顶部的痕迹导航栏中,单击对象的名称。

2.在出现的下拉菜单中,执行下列操作之一:
∙若要创建一个新的空模板,请单击“创建空模板”。

∙若要基于当前正由选定对象使用的模板(无论该模板是对象的默认模板,还是先前创建的自定义模板)创建新模板,请单击“编辑副本”。

说明:
3.此时,将显示“创建样式”对话框。

这是因为控件模板存储在样式资源中。

4.在“名称(关键字)”下,执行下列操作之一:
∙若要为该对象创建新的命名样式,请键入关键字名称。

其他对象可通过此名称引用该样式,从而应用该模板。

∙若要创建将由此类型的所有对象使用的样式,请选择“全部应用”。

提示:
5.在“定义位置”下,选择选项以确定要定义样式的位置:
∙若要使应用程序中的任何文档都能使用该样式,请选择“应用程序”。

∙若要使样式只能由当前文档使用,请选择“此文档”,并从下拉菜单中选择一个选项。

∙若要在资源字典文件中定义可以在其他项目中重用的样式,请选择“资源字典”。

接下来,可以在下拉菜单中选择现有的资源字典文件,或者通过单击“新建”以创
建新的资源字典文件。

6.单击“确定”,以退出对话框并打开该样式以供编辑。

提示:
7.注意美工板顶部的Microsoft Expression Blend 痕迹导航栏。

选定了模板编辑模式的痕迹导航栏
通过单击痕迹导航栏上的按钮,可以在选定对象的模板编辑模式、样式编辑模式和对象编辑范围之间快速切换。

对于应用了自定义样式或模板的任何选定对象,都会显示痕迹导航栏。

8.通过添加或重新排列子对象对模板进行修改。

9.您可以执行下列操作之一,从而基于用户交互的结果来更改对象的外观或行为:
∙如果在Windows Presentation Foundation (WPF) 项目中工作,请在“触发器”面板中选择触发器以启用触发器记录操作,然后对模板中的对象进行更改。

如果所
需的触发器不存在,您可以创建一个。

例如,若要创建触发器来处理Button 对
象的单击,请单击“添加属性触发器”,将触发器设置为“IsPressed=True”,选择新
的触发器,然后进行更改。

有关触发器的详细信息,请参阅使用触发器定义WPF 控件的行为。

有关详细信息,请参阅WPF 简单样式的样式提示。

警告:
∙如果在Microsoft Silverlight 项目中工作,请在“状态”面板中选择状态以启用状态记录操作,然后对模板中的对象进行更改。

如果对象的类型支持部件,您可以
将模板的部件分配给不同的对象。

例如,您可以导入作品作为Image 对象,然
后将新对象转换为模板的部件。

状态使用模板部件来更改对象的外观以响应用户
交互操作。

有关详细信息,请参阅设置Silverlight 控件模板部件的样式和常用Silverlight
控件的样式提示。

∙若要进一步为对象添加交互性,您可以在“状态”面板中创建新状态,然后使用“GoToStateAction”行为,以便基于事件在状态之间切换。

有关详细信息,请参阅定义控件的不同视觉状态和向对象中添加行为。

∙您可以编写将运行以响应事件的代码。

在“属性”面板的“事件”视图中,双击事件名称旁边的输入字段,以便将事件处理程序方法添加到文档的代码隐藏文件。

有关详细信息,请参阅编写将对事件做出响应的代码。

10.若要退出样式的编辑范围,请在“对象和时间线”面板中单击“范围上移”。

此操作会返
回到文档的编辑范围。

提示:
编辑现有的自定义模板
在美工板上或在“对象和时间线”面板中,单击某个对象以将其选中,然后执行下列操作之一:∙在美工板顶部的痕迹导航栏中,单击第三个按钮。

∙在“对象”菜单上,指向“编辑模板”,然后单击“编辑当前模板”。

∙右键单击对象,指向“编辑模板”,然后单击“编辑当前模板”。

∙在“属性”面板中,单击“Style”属性(由于以前对此对象应用了样式,此属性应以绿色突出显示)旁边的“高级属性选项”,然后单击快捷菜单中的“编辑资源”。

处于样式的编辑范围中时,右键单击“对象和时间线”面板中的“Style”对象,指向“编辑模板”,然后单击“编辑当前模板”。

说明:
∙Expression Blend 将进入模板的编辑范围。

从“资源”面板中打开模板
1.在“资源”面板中,找到资源名,然后单击该名称旁边的“编辑资源”按钮。

Expression Blend 将进入样式的编辑范围。

2.处于样式的编辑范围中时,右键单击“对象和时间线”面板中的“Style”对象,指向“编辑模
板”,然后单击“编辑当前模板”。

Expression Blend 将进入模板的编辑范围。

设置支持模板的控件的样式
通过创建和修改控件模板和样式,可以自定义Windows Presentation Foundation (WPF) 和
Microsoft Silverlight 控件。

这将使应用程序的外观独具特色,而且从整体上保持一致。

模板和样式分别定义了组成控件的各个组件以及控件的默认行为。

可以通过生成控件的默认系统
样式和模板的副本,来创建模板和样式,这是因为用户不能修改系统样式和模板。

修改模板和样
式使用户能够轻松创建模板和样式,其实质是在Microsoft Expression Blend 的“设计”视图中生
成新控件,而无需使用代码。

样式与模板之间的差异
下表提供了详细的样式与模板比较结果,有助于确定是修改控件的样式、模板,还是同时修改这
两者:


样式模板
用途通过使用样式,可以对应用该样式的控件的默认属性值加以修改。

例如,可以
指定控件(如按钮)的背景、边框和前景的默认颜色。

可以使用在美工板上绘制控件时为控件设置的值来取代这些样式属性。

例如,
如果在按钮的样式中将背景颜色设置为蓝色,则在美工板上绘制该按钮时,它
将显示为蓝色,但用户可以更改其颜色。

只能在样式中设置已经存在的属性。

例如,不能为属于用户添加到模板中的新
部件的属性设置默认值。

最后,可以使用样式来指定控件的默认行为。

例如,在按钮的样式中,可以指
定一个触发器,以便在用户将指针移到按钮上时更改背景色。

这些属性更改是
瞬时完成的(不能动态渐变)。

可以使用模
例如,可以
也可以对应
取代这些模
修改模板时
示方式,或
∙Conte
能是
∙标题
用作
而内
∙Items
“IsI
∙ItemC
向列
最后,可以
移到按钮上
说明:
不能从模板
编辑方式可通过下列方式进入样式的编辑模式:
使用菜单
1.在“对象和时间线”面板中,选择控件。

2.在“对象”菜单上,指向“编辑样式”。

3.执行下列操作之一:
∙单击“编辑当前样式”(如果希望更改当前已应用于该控件的样
式)
∙单击“编辑副本”(以同时创建当前已应用于该控件的样式的新副
本,并将新样式应用于该控件)。

如果该控件应用的是系统样式,则“编辑样式”选项将不可用。

有关示例,请参阅创建样式。

使用“资源”面板(修改现有样式)
∙在“资源”面板中,找到样式,然后单击该样式旁边的“编辑资源”按钮。

说明:
样式和模板都属于资源,可通过不同方式应用于控件,并且可以存储在应用程
序中的不同位置。

有关创建样式的示例,请参阅创建样式。

可通过下列
使用菜单
1.在“
2.执行


3.单击
建当
“编
有关
使用“资源
1.在“
2.在“
提示:
控件模板封
不是“编辑
次,这是因
说明:
样式和模板
示例,请参
应用方式可通过下列方式向美工板上的控件应用现有样式:
使用菜单
1.在“对象和时间线”面板中,选择控件。

2.在“对象”菜单上,指向“编辑样式”,指向“应用资源”,然后从显
示的下拉列表中选择样式。

该下拉列表仅显示可应用于选定控件的样式。

例如,不能向按钮应用文本框样式。

使用“资产”面板在美工板上绘制带样式的控件
1.可以通过单击“资产”来打开“资产”面板。

2.执行下列操作之一:
∙如果样式是在当前使用的文档中创建的,请单击“样式”类别。

∙如果样式是在资源字典中创建的,请展开“样式”类别,然后单击
字典名称。

3.选择所需的样式,然后在美工板上进行绘制。

可通过下列
使用菜单
1.在“
2.在“
列表
使用“资产
模板包含在
Expression Blend 包含一组简单样式和模板,这些样式和模板封装在WPF 项目的一个资源字典中。

可以使用资源字典来设计应用程序的主题。

有关详细信息,请参阅本主题后面的“简单样式和资源字典”一节。

修改样式和模板
在Expression Blend 中,当处于样式或模板的编辑范围中时,美工板的左上角将显示一个痕迹导航栏。

选定了模板编辑模式的痕迹导航栏
通过单击痕迹导航栏上的按钮,可以快速地进入模板编辑模式、样式编辑模式以及选定对象的对象编辑范围。

对于应用了自定义样式或模板的任何选定对象,都会显示痕迹导航栏。

有关如何修改样式或模板的信息,请参阅编辑样式和创建或修改模板。

最佳实践
在修改样式或模板时,请确保采用下面的最佳实践:
∙除非只更改颜色画笔,否则应避免更改现有触发器。

∙请勿重命名或修改其名称以“PART_”开头的任何元素,因为在实现控件的代码中会引用这些元素。

∙请勿删除任何帮助器元素,例如“SimpleTabControl”中的“TabPanel”或“SimpleScrollBar”
中的“Track”。

这些元素必须存在,才能保留相应控件的功能。

∙请勿重置或更改“属性”面板中的任何绑定。

这些绑定由属性周围的黄色突出显示框标识,或者由黄色的“高级属性选项”按钮标识。

模板绑定用于将模板中的属性绑定到应用该模板的控件的属性。

∙如果模板包含Presenter 元素(如“ContentPresenter”或“ItemsPresenter”元素),则务必在模板中保留该元素。

Presenter 元素将显示应用该模板的控件中定义的内容。

警告:
主题
主题是能够令用户界面控件的外观从整体上保持统一的一组样式和模板。

例如,WPF 对在Windows XP 上运行的WPF 应用程序使用一个主题,而对在Windows Vista 上运行的WPF
应用程序使用另一个主题。

这就是同一按钮在这两个操作系统上的外观有所不同的原因。

为了确定控件(如按钮)的外观,应用程序将搜索下列位置:
1.为控件设置的属性例如,如果要在Expression Blend 中创建一个按钮,然后直接更改
按钮的背景色。

直接为控件设置属性,会取代在其他任何位置为该属性设置的任何值。

2.在控件所使用的自定义样式或模板中设置的属性例如,如果要在Expression Blend 中
创建一个按钮,然后修改模板的副本,以便在模板中设置背景色。

如果未直接为该按钮
设置背景属性,则此背景颜色就会用于该按钮。

可以在包含控件的文档中定义资源,也
可以在应用程序级别定义资源(以便资源能够由应用程序中的所有文档使用)。

文档级
资源将取代应用程序级资源。

3.在控件所使用的系统模板中设置的属性 WPF 根据主题(即根据操作系统)来确定系统
模板。

简单样式和资源字典
说明:
可以通过在称为“资源字典”的单个文件中创建属性、样式和模板资源,来有效地创建主题。

通过使用资源字典,可以在多个应用程序之间重用主题。

还可以通过定义多个资源字典以提供类型相同但值不同的资源,来创建各种互换主题。

例如,Expression Blend 应用程序自身对“深色”主题和“浅色”主题使用不同的资源字典,可通过单击“工具”菜单上的“选项”,然后更改“工作区”的“主题”,从而切换这两种主题。

对于用户自己的应用程序,Expression Blend 提供了一个名为“SimpleStyles.xaml”的、可以直接使用的资源字典,该字典包含常用控件(如按钮、列表框及其他控件)的一组样式。

可以在“资产”面板的“样式”类别中的“简单样式”下访问这些样式。

使用一种简单样式在美工板上绘制控件时,会同时创建该控件的系统版本并应用该简单样式。

例如,如果在美工板上创建“Button”系统控件,则产生的可扩展应用程序标记语言(XAML) 如下所示:
如果在美工板上创建“SimpleButton”,则产生的XAML 中将包含对“SimpleButton”样式的引用:
... />
向美工板添加简单样式控件之后,SimpleStyles.xaml 资源字典文件将添加到项目中,并且将链接到app.xaml 文件,以便这些样式定义在应用程序范围中。

可以在“资源”面板中查看所有样式。

有关如何管理资源的详细信息,请参阅创建可重用资源。

相关文档
最新文档