WPF 简单样式的样式提示
通过使用 Microsoft Expression Blend,不仅能在设计应用程序的用户界面 (UI) 时简单地使用默认控件或系统控件,而且能够真正地按照自己的喜好来自定义控件并设置控件样式,使其达到所需的使用效果。此外,还可以利用 Expression Blend 中的资源来设计独特的控件外观,使自己的应用程序显得与众不同,从而给用户留下深刻的品牌印象,或者在您的所有应用程序之间保持 UI 的风格一致。
什么是简单样式?
简单样式是适用于一组常用系统控件(例如 Button 和 ListBox 控件)的一组可直接使用的自定义样式资源。Expression Blend 之所以提供这些简单样式资源,是因为修改系统控件的样式时必须对 Windows Presentation Foundation (WPF) 的样式和模板有所了解,才能避免破坏控件的功能。在 Expression Blend 中,可以将简单样式用作一组独立资源,也就是说,可以快速修改这些资源,以创建独具特色的应用程序外观,而不必从了解 WPF 样式和模板开始着手。
创建简单样式控件
可以通过单击“资产”面板的“样式”类别中的“简单样式”来查看简单样式。从“资产”面板中选择一种简单样式之后,该简单样式的图标将显示在“资产”按钮 下方,并且处于选中状态以便您在美工板上进行绘制。在美工板上绘制简单样式(例如 SimpleButton )时,实际上创建的是系统控件(例如 Button )的实例,但应用的是 SimpleButton 样式。
显示可用简单样式控件的“资产”面板
下表列出了可用的简单样式以及可应用这些样式的控件。
简单样式 | 可应用简单样式的控件 | 图标 |
---|---|---|
SimpleButton |
Button |
|
SimpleCheckBox |
CheckBox |
|
SimpleComboBox |
ComboBox |
|
SimpleComboBoxItem |
ComboBoxItem |
|
SimpleExpander |
Expander |
|
SimpleLabel |
Label |
|
SimpleListBox |
ListBox |
|
SimpleListBoxItem |
ListBoxItem |
|
SimpleMenu |
Menu |
|
SimpleMenuItem |
MenuItem |
|
SimpleProgressBar |
ProgressBar |
|
SimpleRadioButton |
RadioButton |
|
SimpleRepeatButton |
ListBox 控件中的 RepeatButton |
|
SimpleScrollBar |
ScrollBar |
|
SimpleScrollBarRepeatButtonStyle |
ScrollBar 控件中的 RepeatButton |
|
SimpleScrollViewer |
ScrollViewer |
|
SimpleSeparator |
ListBox 、 Menu 或 ToolBar 控件中的 Separator |
|
SimpleSlider |
Slider |
|
SimpleSliderThumb |
Slider 控件中的 Thumb |
|
SimpleTabControl |
TabControl |
|
SimpleTabItem |
TabItem 位于: TabControl |
|
SimpleTextBox |
TextBox |
|
SimpleThumbStyle |
ScrollBar (位于 ListBox 控件中)中的 Thumb |
|
SimpleTreeView |
TreeView |
|
SimpleTreeViewItem |
TreeView 控件中的 TreeViewItem |
|
SimpleTreeViewItemToggleButton |
TreeView 控件中的 ToggleButton |
修改简单样式
简单样式资源包含在一个名为“SimpleStyles.xaml”的资源字典中。将一种简单样式从“工具”面板添加到美工板上之后,SimpleStyles.xaml 资源字典将会添加到项目中,并且“资源”面板中会显示所有简单样式资源。
SimpleStyles.xaml 资源字典包含简单样式所使用的画笔资源和其他模板。可以对简单样式做出下列更改:
更改颜色 由所有简单样式使用的颜色均存储为可更改的资源。
若要更改某个颜色资源,请在“资源”面板中单击该颜色资源旁边的向下箭头按钮。
有关画笔的信息,请参阅设置颜色、画笔和蒙板。
在“资源”面板中选择编辑某画笔资源
**更改样式 ** 在 Expression Blend 中,可以使用控件的样式来指定属性和触发器。要应用样式的控件将使用这些属性和触发器作为默认值。属性(如背景画笔颜色)将影响控件的外观,而触发器将影响控件对属性改变和事件的响应方式。例如, SimpleButton 样式包含一个针对 IsMouseOver 属性的触发器,用于当用户将鼠标指针移到该控件上时改变该按钮的外观。当 IsMouseOver 属性从 False 更改为 True 时,触发器将触发。
若要更改某个简单样式,请在“资源”面板中单击该简单样式旁边的“编辑资源”按钮。
在“资源”面板中选择编辑某个样式资源
**更改控件模板 ** 控件的模板通过定义控件中包含的子控件来定义其外观。例如, SimpleTextBox 对象的控件模板包含一个 Grid 对象,而后者又包含一个 Border 对象,其中包含名为 PART_ContentHost 的 ScrollViewer 对象。在对美工板上的 TextBox 应用 SimpleTextBox 样式时, ScrollViewer 对象将显示 TextBox 的内容。如同设置样式一样,可以在控件模板中设置属性和事件触发器。
若要更改简单样式的控件模板,请在“资源”面板中单击该简单样式旁边的“编辑资源”按钮,右键单击在“对象和时间线”面板中显示的“Style”元素,指向“编辑模板”,然后单击“编辑当前模板”。
从样式的编辑范围开始操作时选择编辑控件模板
提示: 控件模板封装在样式中,以便应用于控件的样式同时包含控件的外观(部件)和行为。在“编辑副本”和“编辑当前模板”之间进行选择时,一定要记住这一点。
有关样式和模板之间的详细比较结果,请参阅设置支持模板的控件的样式。
向美工板上的现有控件应用样式资源
简单样式是可以像其他任何资源一样应用和管理的资源。
有关示例,请参阅应用样式资源。
有关资源的详细信息,请参阅创建可重用资源。
Microsoft Corporation 版权所有 ⓒ 2011。保留所有权利。