Expression Blend实例中文教程

| 收藏本文 下载本文 作者:酸咖啡

下面是小编收集整理的Expression Blend实例中文教程(共含10篇),供大家参考借鉴,欢迎大家分享。同时,但愿您也能像本文投稿人“酸咖啡”一样,积极向本站投稿分享好文章。

Expression Blend实例中文教程

篇1:Expression Blend实例中文教程

Expression Blend实例中文教程(5) - 布局控件快速入门StackPanel,ScrollViewer和Border

上一篇,介绍了Canvas布局控件在Blend中的使用,本篇继续介绍布局控件StackPanel,ScrollViewer 和Border。

相对于Grid和Canvas来说,StackPanel,ScrollViewer和Border是比较简单的布局控件,实现的功能相 对来说单一。

首先来说说StackPanel控件。从字面意思理解,是堆栈面板的意思。堆栈内的所有内容将按照顺序进 行排列,排列方式分水平排列和垂直排列两种方式。

对于StackPanel的使用,主要是对控件水平或者垂直排列,使用该控件排列控件,比Grid设置表格控 制要容易很多。

例如,在Grid中要设置Row和Column,然后将控件放置到各个Cell中,才能达到对齐布局的效果,而在 StackPanel中只要使用Orientation属性控制就可以了。

这里我们简单演示一下,在Blend中应用StackPanel

选中StackPanel后,在主窗口画一个StackPanel容器。

然后选择按钮控件,在StackPanel中,画一个高为30的按钮。然后选中该按钮,复制创建三个新按钮 ,在复制粘贴的时候,会发现,每次创建一个新按钮会在布局中自动向下排列。这点和Grid和Canvas不同 ,在Grid和Canvas中复制粘贴控件,将会自动覆盖上一个控件,需要用 ZIndex控制其位置。

选中StackPanel,查 看右边Properties属性栏,其中Layout中多了一个Orientation选项,默认为Vertical垂直排列。

点击展开下拉菜单, 可以看到Horizontal水平排列,选中后,以上四个按钮分布将自动以水平方式排列。

和Grid相同,StackPanel也支持Margin和Horizontal Alignment,Vertical Alignment属性, 这里我就不在赘述,详细大家可以看“布局快速入门Grid”

ScrollViewer控件,是从 WPF中移植来的,针对大内容控件的布局控件。由于该控件内仅能支持一个子控件,所以在多数情况下, ScrollViewer控件都会和Stackpanel,Canvas和Grid相互配合使用。如果遇到内容较长的子控件, ScrollViewer会生成滚动条,提供对内容的滚动支持。

创建一个ScrollViewer控件,会看到该控件右边自带滚动框,

我们将上例拖拽进新创建的ScrollViewer控件,Blend会提示按“Alt”将拖拽控件放入ScrollViewer ,

放置成功后,由于内容过长,ScrollViewer的滚动条自动激活,

对于ScrollViewer的滚动条,可以通 过Properties属性栏进行设置控制,可以禁用,隐藏,或者设置仅在需要时候自动显示。

HorizontalScrollBarVisibility和VerticalScrollBarVisibility属性:

Auto = 仅在需要时候自动显示滚动条

Disabled = 禁用滚动条

Hidden = 隐藏滚动条

Visible =显示滚动条

Border控件,是最简单的布局控件,也是最早期的一款Silverlight布局控件,该控件允许用户创建一 个带有边框的布局控件。使用Border控件唯一需要注意的是该控件内仅能支持一个子控件。

在Blend中,绘制Border控件同样很简单,

将上例中的 StackPanel拖拽进新创建的Border控件。

Blend会提示按着 “Alt”是将控件放置在Border中,否则将修改Margin进行重新布局。这里我们按着Alt,完成 拖拽。

Blend自动生成XAML 代码如下:

1

2

3

4

5

6

7

8

其中BorderBrush是边框颜色;

BorderThickness是边框的宽度;

修改以上两个属性,同样可以在右边的Properties属性 栏进行修改。

至此,Silverlight 的布局控件,我们已经介绍完了,笔者建议,在学习的过程中,还要配合实践,这样会达到熟练的效果。

篇2:Expression Blend实例中文教程

Expression Blend实例中文教程(11) - 视觉管理器快速入门Visual State Manager(VSM)

Visual State Manager,中文又称视觉状态管理器(简称为VSM),是Silverlight 2中引进的一个概念 ,通过使用VSM,开发人员和设计人员可以轻松的改变项目控件的视觉效果,在项目中VSM主要用于创建自 定义控件以及控件模板。为了能够打造个性绚丽的Silverlight项目,学习掌握VSM是非常必要的。本文将 介绍VSM的快速入门知识以及VSM在Blend中的使用方法。

在学习VSM前,首先,了解以下几个基本概念:

正如前文所说,VSM视觉管理器是用户控制项目控件的视觉效果,Silverlight在定义控件的时候,将 其外观效果独立封装,另外对控件逻辑部分也进行了独立封装,换句话说,当开发人员修改控件外观效果 的时候,不会影响到控件的逻辑部分。由此可见,Silverlight控件是由两个主要部分所组成,Parts(部 件)和 States Model(状态模块)。

1. Parts (部件),主要负责控件的外观显示。Silverlight的大部分控件都是由多个子控件组合而 成,而这些子控件部分就是Parts。注意,这里我们说是大部分控件都由子控件组合而成,并非所有控件 都有子控件部分,所以,也有可能控件没有Parts(部件)部分。在MSDN对于控件有详细的说明,具体控 件的组成需要查询MSDN。

这里我们看看下面的例子,我们使用ChildWindow作为解释例子:

在一个ChildWindow中,有6个Parts(部件),分别是

Chrome,子窗口框架

CloseButton, 子窗口头部的关闭按钮

ContentPresenter, 子窗口主要内容部分

ContentRoot, 是承载Chrome和CotentPresenter的容器

Overlay, 当子窗口打开的时候,覆盖在父窗口上的部件

Root, 父控件

从上面可以看出,一个ChildWindow是由6个子部件组成,而修改这6个Parts的外观样式,自然也就更 改了ChildWindow的外观显示状态,也就产生了不同的视觉效果。

2. Visual States Model(视觉状态模块),为了理解方便,可以细分为三部分来理解,Visual States(视觉状态),Visual State Groups(视觉状态组)和Visual Transitions(视觉过渡转换)

Visual States(视觉状态)是指控件在特定情况下的显示状态。简单的说就是控件在不同情况下显示 的效果。例如上文的ChildWindow,对于子窗口,只有两种Visual States(视觉状态),一种是显示子窗 口,另一种就是隐藏子窗口。所以,在MSDN中ChildWindow的VisualStates定义只有:

Closed,子窗口隐藏

Open,子窗口显示

再一个简单的控件,Button(按钮)控件的Visual States(视觉状态),Button按钮控件有6个Visual States状态,从下图可以看出这6个Visual States在不同的条件下,每个都有自己独特的显示方式。

Normal,正常状态;

MouseOver,鼠标在按钮上时,按钮显示状态;

Pressed,按钮按下的状态;

Disabled,按钮无效的状态;

Focusd,焦点在按钮上的状态,与Unforcused互斥;

Unfocused,焦点不在按钮上的状态,与Forcused互斥;

Visual State Groups(视觉状态组)是为有互斥效果的控件提供的功能.对于相同的Visual State Groups(视觉状态组),呈互斥状态;而对于不同的Visual State Groups(视觉状态组)是不做互斥状 态处理的。简单的理解,一个控件可以同时属于两个不同的Visual State Groups(视觉状态组)。 CheckBox是最具有有Visual State Groups(视觉状态组)特征的控件。

CheckBox具有四个Visual State Groups(视觉状态组),分别是CommonStates,CheckStates, FocusStates和ValidationStates。从上图可以看出,CheckBox的Normal状态和Checked状态,因为属于不 同的Visual State Groups(视觉状态组),所以可以同时并存。而CheckBox的Normal和Pressed状态属于 同一个Visual State Groups(视觉状态组),所以不能同时共存,仅有一个状态效果有效。

Visual Transitions(视觉过渡转换)可以简单理解为视觉状态切换时的过渡动画效果。从Windows Vista开始微软已经开始应用这种效果,这样使用户在使用控件时有更自然更人性化操作的感觉。最简单 的例子,

上面介绍的是在学习VSM前,需要掌握的基础知识,有利于理解下文。

Visual State Manager(VSM)视觉状态管理器

从字面意思可以理解,既然是视觉状态管理器,自然是管理Silverlight控件的Visual States Model (视觉状态模块)的。 在Silverlight中VSM以代码的方式控制Visual States,Visual States Group和 Visual Transitions。例如:

1

2

4

5

6

7

8

9

10

11

13

14

15

16

17

18

另外微软提供VisualStateManager类对控件视觉状态进行管理,只要使用GoToState即可切换视觉状态 ,

VisualStateManager.GoToState(myButton, “Disabled”, true);

但是从MSDN中,我们可以了解到,对于复杂的控件经常会有数十种视觉状态需要管理和维护,如果需 要创建一个自定义样式的控件,有时需要创建上百行的视觉管理代码。对此微软在Blend中提供Visual State管理面板,简化开发人员和设计人员在创建自定义控件时的工作量。在使用Blend设计视觉状态前, 我们需要结合过去的教程,理解一下当前的类的层次情况,请看下图:

从上图可以看出,VSM控制着视觉状态States,在视觉状态中,可以使用StoryBoard动画效果来表示特 定情况下的显示状态,而StoryBoard中,允许开发人员设置运行周期以及动画运行方式。下面我们结合实 例来理解。

首先我在Blend中创建一个新Project,VSMDemo,

在项目MainPage.xaml中,添加一个按钮控件,

在设计主窗口左上角,选择[Button] - >Edit Template - >Edit a Copy,编辑按钮的默认模 板,这里会将微软默认的按钮控件模板代码复制到你指定的位置,

选择编辑后,会弹出Create Style. Resource创建样式资源的窗口,对于样式和模板,我将在下一篇详 细讲解,这里暂不细述,请按照以下步骤继续操作,

不用修改任何信息,点击Ok后,在States控制面板中,就可以看到当前按钮的视觉状态管理列表。

如果在左边没有看到“States”菜单,可以进入上面的“Window”菜单,选中“States”即可显示。

在States管理面板中,我们可以看到Button当前有两个States,CommonStates和FocusStates,对于两 组中的视觉状态前文已经解释过,这里我们需要看看菜单细节。

如果选中“Turn on transition preview”菜单,设置的Transition动画将在主设计窗口自动播放, 我们设置为Turn on,打开状态,方便下面查看效果。

Base表示根视觉状态,在下面分为两个Visual States Group(视觉状态组),每个视觉状态组中包含 不同的Visual States(视觉状态)。点击每个视觉状态右边的箭头标识,可以添加“Visual Transitions(视觉过渡转换)”,从上图可看到,弹出的菜单,其中需要注意的是:

“* ->Normal” 是指任何States到Normal

“Normal ->*” 是指Normal到任何States

现在可以切换到“Objects and Timeline”,在“Template”下选中Grid,

在右边属性栏,修改按钮Transform属性,修改x,y到0.5

然后回到States控制面板,会看到Normal状态下,按钮控件会变小,选中MouseOver后,按钮控件尺寸 恢复正常。

Normal

MouseOver

这时,选中Normal或者MouseOver,会在主设计窗口看到按钮变化的动画。点击F5运行该项目,当鼠标 覆盖按钮的时候,按钮会自动变化尺寸。

这样我们就简单的修改了Button按钮控件的Visual States(视觉状态)。

对于VSM需要注意的是,VSM是以代码方式管理Visual States的类,而Blend States只是一个工具,协 助开发人员管理维护Visual States,最终生成代码,仍旧是VSM进行控制。

对于视觉管理器的快速入门暂时介绍到这里,我们将在实例篇中再详细介绍VSM,Blend States在实际 应用中的使用方法。

篇3:Expression Blend实例中文教程 控件快速入门ControlTempla

上篇,介绍了控件样式(Style)和模板(Template)的基础概念,并且演示了使用Blend设计控件样 式,本篇将继续介绍使用Blend设计自定义控件模板 - ControlTemplate。ControlTemplate可以称为控件 模板,简单的理解为控件结构和行为的集合。在项目设计中,经常会使用ControlTemplate创建新的控件 模板或者修改现成的控件模板,使用项目的UI具有独特性。如何使用Blend创建和修改ControlTemplate是 本文即将讨论的话题。

概述

对于ControlTemplate没有一个特定的概念,为了避免过于抽象,可以简单的理解ControlTemplate是 通过改变Style改变控件视觉效果的类。ControlTemplate可以被定义在控件的Xaml代码中,为了提高复用 性,ControlTemplate也会被定义到资源文件中。

实例

学习ControlTemplate最好的方法还是实践,下面,我将使用实例演示使用Blend创建新的控件 ControlTemplate。

首先,在Blend中创建新的项目ControlTemplateDemo,上周Silverlight 4发布,我已经升级开发环境 到Silverlight 4,VS和Blend 4 RC, 所以,以后所有项目演示将是基于.Net Framework 4的。

大家会发现Blend 4创建新项目和Blend 3没有太大区别。

我们计划创建一个简单的按钮ControlTemplate,

现在,从左边工具栏选中矩形框,在主设计窗口画一个矩形框,使用Radius修改矩形框边缘为圆形。 该矩形框是为了Button的模板控件做基础使用的。

然后修改矩形背景和边框颜色,这里大家可以按照自己的喜好和需求自行设置背景色和边框颜色。

然后在主设计窗口选中该矩形控件,点击鼠标右键,选中“Make Into Control...“选项,

这个选项是将当前控件转换到指定控件模板中,在以下弹出窗口中,可以选择需要转换的控件类型, 从以下窗口可以看出,矩形控件可以转换到所有控件模板中,下面Name是模板样式名称,Define in是创 建该资源模板到指定位置。这些和前文教程内容相同,不再赘述。

这里,我们使用默认的name,将模板信息放在本地文档资源中,因为我们演示创建按钮 controltemplate,所以在点击OK前,必须从上面的窗口中选择“Button”,点击OK后主设计窗口将显示 按钮样式。

到这里一个简单的ControlTemplate已经创建完了。我们打开Objects and Timeline看看当前控件模板 组成信息,从下图我们可以看到,该Button模板,是由一个矩形控件和ContentPresenter组成的。

再看看该按钮模板代码,从以下代码中可以看出,在资源中,定义了一个新的ControlTemplate,该控 件模板目标控件类型是Button(?),ControlTemplate 内部由Rectangle和ContentPresenter组成。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

这时,我们可以保存所有修改,点击“F5”运行当前项目。在运行后,可以在浏览器中看到一个 Button

但是该Button没有任何的视觉效果和Button事件。也就是说,在这个新的控件模板中,缺少VSM状态信 息。根据上一篇Blend控制VSM中可以得知,在Blend中的States菜单栏中,可以轻松的控制控件的VSM状态 ,下面,我们添加一些简单的状态效果。

首先,选中新创建的Button控件,然后打开左边菜单栏States,如果没有发现该Tab,可以在Blend的 Window菜单选中States就会出现了。

在按钮的Normal状态,就是我们初始化设置的状态,现在我们修改MouseOver的控件视觉效果.

在States中,选中MouseOver,然后在主设计窗口选中Button控件,

在右边Properties属性栏,简单的修改Button的背景色,

这样,鼠标覆盖到Button控件时,颜色会改变,再点击F5运行,可以将鼠标放在控件上,这时会发现 VSM会切换视觉状态。

按照以上方法,我们修改“Pressed”和”Disabled“状态。

Pressed:

Disabled:

在运行F5后,测试会发现VSM状态切换已经实现,但是缺乏体验效果,当鼠标放在Button时,我们希望 看到渐变效果,当鼠标点击Button后,也希望看到渐变效果,这里我们需要添加Transition过渡效果到各 个状态。

在States菜单下,选中Normal状态,

在状态右边,会看到有个箭头状按钮,点击添加Transition过渡效果,

点击Transition按钮后,会弹出一个过渡效果列表,这里表示从Normal状态过渡到不同的状态所呈现 的效果。

其中需要注意的是 “* ->Normal”,表示从任何效果到Normal,“Normal ->*”,表示从 Normal到任何效果。

这里,我们选中“Normal ->MouseOver”。

我们可以设置从Normal过渡到MouseOver要用什么动画效果呈现,过渡动画时间设置。

这里我们可以选择Easing效果,关于Easing的介绍,已经在过去的教程中详解,这里不再赘述。

设置过渡时间为0.3秒,点击F5,看看设置的效果,当鼠标放在Button后,会出现渐变的动画效果。

按照以上的方法,依次类推,

在MouseOver状态,添加Normal状态,

在Pressed状态,添加MouseOver状态,

再次运行项目,Button控件会在各种状态下出现不同的过渡动画效果。

这时再次查看模板代码,会发现在ControlTemplate中,出现了VisualStateManager选项。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

我们简单的添加一个Button点击事件,来测试新创建的Button控件,

选中Button控件,在右边Properties属性栏上面,点击Events

Blend会列出该控件所有的Events事件,这里我们选中Click,双击后,在主设计窗口会切换到后台代 码cs编辑界面. Blend自动创建Button控件Click事件方法,

我们在btDemo_Click中添加简单代码

1 private void btDemo_Click(object sender, System.Windows.RoutedEventArgs e)2 {3 // TODO: Add event handler implementation here.4 btDemo.Content = “我是测试按钮”;5 }

F5测试,点击Button,会发现控件文本标签内容被修改。也说明我们创建的ControlTemplate已经继承 了所有Button的功能。

至此,一个自定义ControlTemplate控件模板创建完毕。

如果您在开发设计过程中遇到问题,欢迎留言给我。

本文配套源码

篇4:Expression Blend实例中文教程 布局控件快速入门Canvas

上一篇,我介绍了Silverlight控件被分为三种类型,

第一类: Layout Controls(布局控件)

第二类: Item Controls (项目控件)

第三类: User Interaction Controls(用户交互控件)

在以上三种控件类型中,布局控件是最基础的,所以,我从布局控件开始一个快速入门介绍,根据前 文所述,我们知道Silverlight标准控件中,包括以下四种布局控件:

Grid控件

Canvas控件

StackPanel控件

Border控件

经过上一篇文章的学习,我们已经对Grid有了了解, 本文将继续介绍另外一个布局控件Canvas,

Canvas布局控件,相对于其他布局控件的优势在于可以自由的设定其包含区域内控件的位置。该控件 在Silverlight游戏设计中最为常见,可以实现游戏中独立部件控制。

使用Blend设置Canvas很简单,我在上一篇项目基础上,在0行0列和0行1列中分别创建两个Canvas,然 后在两个Canvas中创建两个控件。

选中Canvas后,可以在右边“Properties”属性栏中修改其属性,从属性栏中可以看出,Canvas是嵌 套在Grid中,所以,其位置可以由Grid属性控制。

选中Canvas中的控件,可以在右边“Properties”属性栏中看到该控件在容器Canvas中的位置,包括 左距离,顶距离,以及Z坐标值。

其中Left可以理解为X坐标值,Top为Y坐标值,ZIndex(Z坐标值),如果从3D的角度来理解,是相对 于平面的立体值。对于ZIndex 的使用,可以看看下例,如果有两个Canvas控件,位置坐标相同,会形成 覆盖,这里定义ZIndex,值越大的将会在上方覆盖ZIndex值小的控件。通过这个参数设置,我们可以实现 很多不同的布局效果。

从上图可以看到,Canvas中的子控件,属性栏中,没有Grid控件中的Margin属性,而是使用Left和Top 进行定位。根据微软官方的解释,Canvas中的控件,使用Canvas.left和Canvas.top定位,传递该数值到 父容器控件Canvas,重载父容器Canvas的 AttachedProperty(附加属性),这样意味着父容器Canvas不 能更改子控件的位置。这里引入了AttachedProperty(附加属性),该属性是属于父控件的属性,但是可 以被子控件进行设置。

上一篇,我们提到过布局控件Group的功能,这里使用Canvas group的功能,将多个Canvas嵌入到一个 Canvas控件中,通过父Canvas控件统一控制子容器控件的属性,

这里我创建四个Canvas,每个Canvas中包含一个圆形控件。当前,处于相互覆盖状态。

按着Shift,分别选中 四个Canvas控件,点击鼠标右键,“Group into” - >“Canvas“,

选中后,Blend将生 成新的Canvas父控件,将选中的四个Canvas控件,作为子控件。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

现在选中父控件的Canvas,将Opacity修改 为40,可以看到,所有子控件的Opacity统一修改为40.效果如下:

如果 ,我们分别设置父控件下的四个Canvas控件Opacity属性,即可看到各自Canvas将按照自己属性为主,效 果如下:

Canvas通过Group的 功能,可以实现多个控件实现相同方式下动画效果,在Silverlight开发中也是常用的功能。

Canvas布局控件快速入门就介绍到这儿了。

篇5:Expression Blend实例中文教程样式和快速入门Style,Template

在上一篇,介绍了Visual State Manager视觉状态管理器,其中涉及到控件的样式(Style)和模板( Template),本篇将详细介绍样式(Style)和模板(Template)在Silverlight项目中的应用,并介绍如 何使用Blend设计样式(Style)和模板(Template),

在LOB(Line-of-Business)企业级应用项目开发中,为了使项目的视觉效果多样化,不仅仅使用动画 效果,而且经常还需要修改部分控件的样式(Style)和模板(Template)。 在Silverlight的控件包中 ,微软已经定义了默认控件样式和模板,开发人员可以在这些默认的代码上进行修改和调整,以达到项目 需求。但是由于默认的控件样式和模板代码过于冗长,手工修改起来相对复杂和繁琐,对此,微软封装了 一些新的功能在Blend中,方便开发人员和设计人员对模板和样式进行控制。 在学习Blend控制样式 (Style)和模板(Template)前,还是先快速了解一下样式(Style)和模板(Template)。

样式(Style),有HTML开发基础的朋友对传统的CSS样式表并不陌生,HTML将所有公用的属性代码汇 集到CSS文件中,使用CSS控制页面的背景,控制表格的宽度,控制控件距离等。Silverlight中的样式 (Style)和CSS相同,允许设计人员和开发人员将控件的公用属性定义到资源文件中,允许相同属性控件 自由调用,这样不仅提高了代码的复用性,而且保证了控件外观在项目中的一致性。

模板(Template),模板的概念在传统的Web页面开发中已经被引入,早期Dreamweaver因为支持创建 Web模板设计,吸引了不少Web开发者。Silverlight中同样引进了模板的概念。在Silverlight中,凡是继 承自System.Windows.Controls命名控件的控件都有一套默认的模板,设计人员和开发人员可以基于默认 模板的基础上进行修改,创建自定义模板。

样式(Style)和模板(Template)的定义

在Silverlight中,样式和模板定义是很简单的,因为很多属性已经被封装好,不需要自行创建,只需 要调用就可以了。简单的演示代码:

Style:

1 2 3 这里定义具体样式属性4 5

Template:

1 2 3 5 这里定义具体模板6 7 8

样式(Style)和模板(Template)的使用

在Silverlight中样式(Style)和模板(Template)都属于控件资源,也就是说,两者都可以被定义 在资源文件中,而在项目页面中,仅需使用Style和Template属性调用就可以了。

Style:

1

Template:这个方法,也是Blend所支持的方法,下面我们看看实例,进一步理解。

1

上面介绍了样式和模板的最基本的用法。在实际项目中,我们经常把模板(Template)定义在样式 (Style)中,也就是将Template作为一个属性被赋值在Style中,这样当样式(Style)被应用在控件中 时,新的模板也会同时加载。例如下面Button样式代码,Template是作为Style的属性被设置的:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

下面我们用一个简单的实例来理解Style(样式)和Template(模板),

首先,我们创建一个新的项目StyleTemplateDemo作为演示。

打开MainPage,在主设计窗口中,添加三个按钮控件到该页面,

对于Button控件的样式属性控制,最简单的方法就是从右边Properties属性栏,

如果需要创建自定义样式,则需要按照以下步骤:

首先选中其中一个按钮控件,在左上角可以看到Button控件下拉菜单,

点击“[Button]”下拉菜单,选择“Edit Template”,然后选择“Edit a Copy”,

或者,可以在主设计窗口,使用鼠标右键选中控件,选择“Edit Template”,然后选择“Edit a Copy”,

选中“Edit a Copy”,系统会弹出提示窗口,询问“Create Style. Resource”是否创建样式资源,

其中Name(Key)是样式名,以后调用该样式将使用这个Name;

Define in 有三个选择:

1. Application(应用),该选项是将该样式代码添加到App.Xaml文件中;

2. This document(当前文档),该选项是将该样式代码添加到当前编辑文档中,当前我们编辑 MainPage.Xaml,如果选中此项,样式代码将被输出到该文件中;

3. Resource dictionary(资源目录),该选项是将该样式代码添加到自定义资源文件中,如果没有 资源文件,可以点击“New”创建自定义资源文件;

在This document(当前文档)中,该选项有两个选择,

“UserControl:”,选中该选项样式代码将在当前文档创建

调用是使用前面的基础调用代码:

1

“Button:”,选中该选项样式代码将创建在该控件资源下,

对比以上三种定义样式代码方式,第一种和第三种方法相对来说比较灵活,将样式代码放在公共资源 文件中,方便其他页面相同属性控件调用;而第二种方法,仅供该文件中的相同属性控件调用。

这里我们Define in选择Application,定义样式代码到App.xaml中,点击确定后,系统会打开 App.xaml文件,进入控件样式编辑状态,这时就可以对控件样式进行编辑。

当前主设计窗口打开文件为“App.xaml”,因为该文件包含了要编辑的样式和模板代码。

在控件处于样式和模板编辑状态下,从Objects and Timeline窗口可以查看该控件模板的子部件,通 过修改包含的子部件样式,来改变原按钮控件样式。

例如我们想改变Button的背景色,可以修改BackgroundGradient属性,从上图的Objects and Timeline中选中BackgroundGradient,

在右边Properties属性栏,修改颜色,即可看到在主设计窗口按钮的背景色在改变。

保存以上修改后,回到主设计窗口,能看到两个Button已经被应用了新的Button样式,

1

2

Expression Blend实例中文教程(推荐10篇)

欢迎下载DOC格式的Expression Blend实例中文教程,但愿能给您带来参考作用!
推荐度: 推荐 推荐 推荐 推荐 推荐
点击下载文档 文档为doc格式
点击下载本文文档