Blend创建或修改模板.docx
- 文档编号:8635284
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:12
- 大小:67.99KB
Blend创建或修改模板.docx
《Blend创建或修改模板.docx》由会员分享,可在线阅读,更多相关《Blend创建或修改模板.docx(12页珍藏版)》请在冰豆网上搜索。
Blend创建或修改模板
创建或修改模板
控件的外观由美工板上应用于控件的模板定义。
模板包括控件内所包含的对象。
例如,“TextBox”的控件模板包含一个名为“Bd”的Border对象,而后者又包含一个名为“PART_ContentHost”的“ScrollViewer”对象。
在对美工板上的“TextBox”应用该控件模板时,“ScrollViewer”对象将显示“TextBox”的内容。
编辑TextBox控件的模板
系统控件的默认模板使用动态主题,可根据应用程序是运行在WindowsXP计算机上还是运行在WindowsVista计算机上,来改变控件的外观。
但是,如果修改系统控件的模板,则您的控件在WindowsXP和WindowsVista上的外观将变得一样。
有关详细信息,请参阅设置支持模板的控件的样式中的“主题”一节。
控件模板以资源的形式保存,可应用于同一类型的其他控件。
创建控件模板
1.在“对象和时间线”面板中或在美工板上,选择要从中创建控件模板的对象,然后执行下列操作之一:
∙在“对象”菜单中,指向“编辑模板”。
∙右键单击对象,然后指向“编辑模板”。
∙在美工板顶部的痕迹导航栏中,单击对象的名称。
2.在出现的下拉菜单中,执行下列操作之一:
∙若要创建一个新的空模板,请单击“创建空模板”。
∙若要基于当前正由选定对象使用的模板(无论该模板是对象的默认模板,还是先前创建的自定义模板)创建新模板,请单击“编辑副本”。
说明:
如果启用了“编辑当前模板”选项,则此对象已应用了模板。
或者,您也可以选择编辑此模板。
3.此时,将显示“创建样式”对话框。
这是因为控件模板存储在样式资源中。
4.在“名称(关键字)”下,执行下列操作之一:
∙若要为该对象创建新的命名样式,请键入关键字名称。
其他对象可通过此名称引用该样式,从而应用该模板。
∙若要创建将由此类型的所有对象使用的样式,请选择“全部应用”。
提示:
在要创建的样式对象的XAML中,会将一个名为 TargetType 的属性设置为要为其创建样式的对象的类型。
只有键入了关键字名称(此步骤的第一个选项),才会设置 x:
Key 属性。
如果存在 x:
Key 属性,则样式只能应用到通过关键字名称指定该样式的对象;如果没有 x:
Key 属性,则能够将样式应用到此类型的所有对象。
例如,以下代码示例中的样式对象将不会应用于美工板上的所有按钮。
Key="ButtonStyle1"TargetType="{x: TypeButton}"... 5.在“定义位置”下,选择选项以确定要定义样式的位置: ∙若要使应用程序中的任何文档都能使用该样式,请选择“应用程序”。 ∙若要使样式只能由当前文档使用,请选择“此文档”,并从下拉菜单中选择一个选项。 ∙若要在资源字典文件中定义可以在其他项目中重用的样式,请选择“资源字典”。 接下来,可以在下拉菜单中选择现有的资源字典文件,或者通过单击“新建”以创建新的资源字典文件。 6.单击“确定”,以退出对话框并打开该样式以供编辑。 提示: 您可以在样式内高效地创建新的模板资源。 该资源将成为本地资源,并且可以使用“资源”面板中的“编辑资源”按钮轻松进行查看和修改。 7.注意美工板顶部的MicrosoftExpressionBlend痕迹导航栏。 选定了模板编辑模式的痕迹导航栏 通过单击痕迹导航栏上的按钮,可以在选定对象的模板编辑模式、样式编辑模式和对象编辑范围之间快速切换。 对于应用了自定义样式或模板的任何选定对象,都会显示痕迹导航栏。 8.通过添加或重新排列子对象对模板进行修改。 9.您可以执行下列操作之一,从而基于用户交互的结果来更改对象的外观或行为: ∙如果在WindowsPresentationFoundation(WPF)项目中工作,请在“触发器”面板中选择触发器以启用触发器记录操作,然后对模板中的对象进行更改。 如果所需的触发器不存在,您可以创建一个。 例如,若要创建触发器来处理Button对象的单击,请单击“添加属性触发器”,将触发器设置为“IsPressed=True”,选择新的触发器,然后进行更改。 有关触发器的详细信息,请参阅使用触发器定义WPF控件的行为。 有关详细信息,请参阅 WPF简单样式的样式提示。 警告: 更改控件模板的某些部分可能会破坏控件的功能。 有关准则,请参阅设置支持模板的控件的样式 中的“最佳实践”。 ∙如果在MicrosoftSilverlight项目中工作,请在“状态”面板中选择状态以启用状态记录操作,然后对模板中的对象进行更改。 如果对象的类型支持部件,您可以将模板的部件分配给不同的对象。 例如,您可以导入作品作为Image对象,然后将新对象转换为模板的部件。 状态使用模板部件来更改对象的外观以响应用户交互操作。 有关详细信息,请参阅设置Silverlight控件模板部件的样式和常用Silverlight控件的样式提示。 ∙若要进一步为对象添加交互性,您可以在“状态”面板中创建新状态,然后使用“GoToStateAction”行为,以便基于事件在状态之间切换。 有关详细信息,请参阅定义控件的不同视觉状态和向对象中添加行为。 ∙您可以编写将运行以响应事件的代码。 在“属性”面板的“事件”视图中,双击事件名称旁边的输入字段,以便将事件处理程序方法添加到文档的代码隐藏文件。 有关详细信息,请参阅编写将对事件做出响应的代码。 10.若要退出样式的编辑范围,请在“对象和时间线”面板中单击“范围上移” 。 此操作会返回到文档的编辑范围。 提示: 请注意,为对象创建或应用样式资源后,将在“属性”面板中为“Style”属性显示绿色突出显示框,以指明该对象现已绑定或链接到此样式资源。 编辑现有的自定义模板 在美工板上或在“对象和时间线”面板中,单击某个对象以将其选中,然后执行下列操作之一: ∙在美工板顶部的痕迹导航栏中,单击第三个按钮。 ∙在“对象”菜单上,指向“编辑模板”,然后单击“编辑当前模板”。 ∙右键单击对象,指向“编辑模板”,然后单击“编辑当前模板”。 ∙在“属性”面板中,单击“Style”属性(由于以前对此对象应用了样式,此属性应以绿色突出显示)旁边的“高级属性选项” ,然后单击快捷菜单中的“编辑资源”。 处于样式的编辑范围中时,右键单击“对象和时间线”面板中的“Style”对象,指向“编辑模板”,然后单击“编辑当前模板”。 说明: 如果“编辑当前模板”选项处于禁用状态,则尚未对该对象应用任何模板。 ∙ExpressionBlend将进入模板的编辑范围。 从“资源”面板中打开模板 1.在“资源”面板中,找到资源名,然后单击该名称旁边的“编辑资源”按钮。 ExpressionBlend将进入样式的编辑范围。 2.处于样式的编辑范围中时,右键单击“对象和时间线”面板中的“Style”对象,指向“编辑模板”,然后单击“编辑当前模板”。 ExpressionBlend将进入模板的编辑范围。 设置支持模板的控件的样式 通过创建和修改控件模板和样式,可以自定义WindowsPresentationFoundation(WPF)和MicrosoftSilverlight控件。 这将使应用程序的外观独具特色,而且从整体上保持一致。 模板和样式分别定义了组成控件的各个组件以及控件的默认行为。 可以通过生成控件的默认系统样式和模板的副本,来创建模板和样式,这是因为用户不能修改系统样式和模板。 修改模板和样式使用户能够轻松创建模板和样式,其实质是在MicrosoftExpressionBlend的“设计”视图中生成新控件,而无需使用代码。 样式与模板之间的差异 下表提供了详细的样式与模板比较结果,有助于确定是修改控件的样式、模板,还是同时修改这两者: 特性 样式 模板 用途 通过使用样式,可以对应用该样式的控件的默认属性值加以修改。 例如,可以指定控件(如按钮)的背景、边框和前景的默认颜色。 可以使用在美工板上绘制控件时为控件设置的值来取代这些样式属性。 例如,如果在按钮的样式中将背景颜色设置为蓝色,则在美工板上绘制该按钮时,它将显示为蓝色,但用户可以更改其颜色。 只能在样式中设置已经存在的属性。 例如,不能为属于用户添加到模板中的新部件的属性设置默认值。 最后,可以使用样式来指定控件的默认行为。 例如,在按钮的样式中,可以指定一个触发器,以便在用户将指针移到按钮上时更改背景色。 这些属性更改是瞬时完成的(不能动态渐变)。 可以使用模板,修改应用该模板的控件的结构。 可以修改控件模板,以重排、添加或删除控件中的元素(或部件)。 例如,可以向控件(如按钮)中添加背景图像或设计。 也可以对应用模板的控件的属性(如背景颜色)值加以修改。 不能使用在美工板上绘制控件时为控件设置的值来取代这些模板值。 但是,可以根据在美工板上绘制控件时该控件的属性值,使用模板绑定来设置模板的属性。 修改模板时,可以比修改样式时访问更多的控件部分。 例如,可以通过修改项模板,更改组合框中弹出列表的显示方式,或更改在组合框中触发弹出列表的按钮的外观。 有些模板包含下列部件: ∙ContentPresenter 内容展示区是控件模板中的占位符,用于显示应用模板的控件的内容。 显示的内容可能是内容属性(例如在按钮中)或文本属性(例如在文本框中)的值。 ∙标题 有些控件具有多个可以包含内容的属性。 在这种情况下,会在模板中使用另一个内容展示区,作为用作标题的内容类型的占位符。 带标题控件的示例包括选项卡项控件,在此控件中,标题是选项卡上的标签,而内容显示在标题之下。 ∙ItemsHost 项目承载���用作控件子元素的占位符。 模板的项目承载区部件由“属性”面板中的“IsItemsHost=True”加以标识。 ∙ItemContainerTemplate 项容器模板可应用于包含多个项的控件,如“Menu”或“List”控件。 该模板在向列表中添加项时使用。 最后,可以使用触发器在模板中指定所有新部件和现有部件的行为。 例如,可以指定触发器,以便在用户将指针移到按钮上时,更改其中一个部件的颜色。 这些属性改变可以瞬时完成,也可以动态变化以产生平滑过渡效果。 说明: 不能从模板绑定属性或颜色资源的值动态变化到其他值。 在触发器中使用动画时,请使用特定的属性值。 编辑方式 可通过下列方式进入样式的编辑模式: 使用菜单 1.在“对象和时间线”面板中,选择控件。 2.在“对象”菜单上,指向“编辑样式”。 3.执行下列操作之一: ∙单击“编辑当前样式”(如果希望更改当前已应用于该控件的样式) ∙单击“编辑副本”(以同时创建当前已应用于该控件的样式的新副本,并将新样式应用于该控件)。 如果该控件应用的是系统样式,则“编辑样式”选项将不可用。 有关示例,请参阅创建样式。 使用“资源”面板(修改现有样式) ∙在“资源”面板中,找到样式,然后单击该样式旁边的“编辑资源”按钮。 说明: 样式和模板都属于资源,可通过不同方式应用于控件,并且可以存储在应用程序中的不同位置。 有关创建样式的示例,请参阅创建样式。 可通过下列方式进入控件模板的编辑模式: 使用菜单 1.在“对象和时间线”面板中,选择控件。 2.执行下列操作之一: ∙在“对象”菜单上,指向“编辑模板”。 ∙右键单击该控件,指向“编辑模板”。 3.单击“编辑当前模板”(如果希望修改当前已应用于该控件的模板),或者单击“编辑副本”(以同时创建当前已应用于该控件的模板的新副本,并将新模板应用于该控件)。 如果该控件应用的是系统模板,则“编辑当前模板”选项将不可用。 有关示例,请参阅创建或修改模板。 使用“资源”面板(修改现有模板) 1.在“资源”面板中,找到包含该模板的样式,然后单击该样式旁边的“编辑资源”按钮。 2.在“对象和时间线”面板中,右键单击“Style”元素,指向“编辑模板”,然后单击“编辑当前模板”。 提示: 控件模板封装在样式中,以便应用于控件的样式同时包含控件的外观(部件)和行为。 单击“编辑当前模板”而不是“编辑副本”,因为样式的副本包含了模板。 若要返回到主文档的编辑范围,必须单击“范围上移” 两次,这是因为第一次单击将回到样式的编辑模式。 说明: 样式和模板都属于资源,可通过不同方式应用于控件,并且可以存储在应用程序中的不同位置。 有关创建模板的示例,请参阅创建或修改模板。 应用方式 可通过下列方式向美工板上的控件应用现有样式: 使用菜单 1.在“对象和时间线”面板中,选择控件。 2.在“对象”菜单上,指向“编辑样式”,指向“应用资源”,然后从显示的下拉列表中选择样式。 该下拉列表仅显示可应用于选定控件的样式。 例如,不能向按钮应用文本框样式。 使用“资产”面板在美工板上绘制带样式的控件 1.可以通过单击“资产” 来打开“资产”面板。 2.执行下列操作之一: ∙如果样式是在当前使用的文档中创建的,请单击“样式”类别。 ∙如果样式是在资源字典中创建的,请展开“样式”类别,然后单击字典名称。 可通过下列方式向美工板上的控件应用现有模板: 使用菜单 1.在“对象和时间线”面板中,选择控件。 2.在“对象”菜单上,指向“编辑模板”,指向“应用资源”,然后从显示的下拉列表中选择模板。 该下拉列表仅显示可应用于选定控件的模板。 例如,不能向按钮应用文本框模板。 使用“资产”面板在美工板上绘制带模板的控件 模板包含在样式中。 若要向美工板上的控件应用模板,请使用与应用样式相同的方法。 3.选择所需的样式,然后在美工板上进行绘制。 ExpressionBlend包含一组简单样式和模板,这些样式和模板封装在WPF项目的一个资源字典中。 可以使用资源字典来设计应用程序的主题。 有关详细信息,请参阅本主题后面的“简单样式和资源字典”一节。 修改样式和模板 在ExpressionBlend中,当处于样式或模板的编辑范围中时,美工板的左上角将显示一个痕迹导航栏。 选定了模板编辑模式的痕迹导航栏 通过单击痕迹导航栏上的按钮,可以快速地进入模板编辑模式、样式编辑模式以及选定对象的对象编辑范围。 对于应用了自定义样式或模板的任何选定对象,都会显示痕迹导航栏。 有关如何修改样式或模板的信息,请参阅编辑样式和创建或修改模板。 最佳实践 在修改样式或模板时,请确保采用下面的最佳实践: ∙除非只更改颜色画笔,否则应避免更改现有触发器。 ∙请勿重命名或修改其名称以“PART_”开头的任何元素,因为在实现控件的代码中会引用这些元素。 ∙请勿删除任何帮助器元素,例如“SimpleTabControl”中的“TabPanel”或“SimpleScrollBar”中的“Track”。 这些元素必须存在,才能保留相应控件的功能。 ∙请勿重置或更改“属性”面板中的任何绑定。 这些绑定由属性周围的黄色突出显示框标识,或者由黄色的“高级属性选项”按钮 标识。 模板绑定用于将模板中的属性绑定到应用该模板的控件的属性。 ∙如果模板包含Presenter元素(如“ContentPresenter”或“ItemsPresenter”元素),则务必在模板中保留该元素。 Presenter元素将显示应用该模板的控件中定义的内容。 警告: 在修改样式和模板时,应牢记这些关键点,以免破坏应用样式或模板的系统控件的功能。 主题 主题是能够令用户界面控件的外观从整体上保持统一的一组样式和模板。 例如,WPF对在WindowsXP上运行的WPF应用程序使用一个主题,而对在WindowsVista上运行的WPF应用程序使用另一个主题。 这就是同一按钮在这两个操作系统上的外观有所不同的原因。 为了确定控件(如按钮)的外观,应用程序将搜索下列位置: 1.为控件设置的属性 例如,如果要在ExpressionBlend中创建一个按钮,然后直接更改按钮的背景色。 直接为控件设置属性,会取代在其他任何位置为该属性设置的任何值。 2.在控件所使用的自定义样式或模板中设置的属性 例如,如果要在ExpressionBlend中创建一个按钮,然后修改模板的副本,以便在模板中设置背景色。 如果未直接为该按钮设置背景属性,则此背景颜色就会用于该按钮。 可以在包含控件的文档中定义资源,也可以在应用程序级别定义资源(以便资源能够由应用程序中的所有文档使用)。 文档级资源将取代应用程序级资源。 3.在控件所使用的系统模板中设置的属性 WPF根据主题(即根据操作系统)来确定系统模板。 简单样式和资源字典 说明: Silverlight项目中不支持简单样式。 可以通过在称为“资源字典”的单个文件中创建属性、样式和模板资源,来有效地创建主题。 通过使用资源字典,可以在多个应用程序之间重用主题。 还可以通过定义多个资源字典以提供类型相同但值不同的资源,来创建各种互换主题。 例如,ExpressionBlend应用程序自身对“深色”主题和“浅色”主题使用不同的资源字典,可通过单击“工具”菜单上的“选项”,然后更改“工作区”的“主题”,从而切换这两种主题。 对于用户自己的应用程序,ExpressionBlend提供了一个名为“SimpleStyles.xaml”的、可以直接使用的资源字典,该字典包含常用控件(如按钮、列表框及其他控件)的一组样式。 可以在 “资产”面板的“样式”类别中的“简单样式”下访问这些样式。 使用一种简单样式在美工板上绘制控件时,会同时创建该控件的系统版本并应用该简单样式。 例如,如果在美工板上创建“Button”系统控件,则产生的可扩展应用程序标记语言(XAML)如下所示: 复制 如果在美工板上创建“SimpleButton”,则产生的XAML中将包含对“SimpleButton”样式的引用: 复制 向美工板添加简单样式控件之后,SimpleStyles.xaml资源字典文件将添加到项目中,并且将链接到app.xaml文件,以便这些样式定义在应用程序范围中。 可以在“资源”面板中查看所有样式。 有关如何管理资源的详细信息,请参阅创建可重用资源。 (注: 可编辑下载,若有不当之处,请指正,谢谢! )
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Blend 创建 修改 模板