“洛奇”通过精心收集,向本站投稿了10篇Expression Blend实例中文教程样式和快速入门Style,Template,下面就是小编给大家整理后的Expression Blend实例中文教程样式和快速入门Style,Template,希望您能喜欢!
- 目录
- 第1篇:Expression Blend实例中文教程样式和快速入门Style,Template第2篇:Expression Blend实例中文教程 控件快速入门ControlTempla第3篇:Expression Blend实例中文教程 布局控件快速入门Canvas第4篇:Expression Blend实例中文教程 项目控件和用户交互控件快速入门第5篇:Expression Blend实例中文教程第6篇:Expression Blend实例中文教程第7篇:Excel实例:快速个人通讯录EXCEL基本教程第8篇:快速入门SQL定义存储过程数据库教程第9篇:浩辰CAD2013教程_(72)快速入门CAD第10篇:Excel中巧用样式列表快速实现换行EXCEL基本教程
篇1: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
Template:
1
样式(Style)和模板(Template)的使用
在Silverlight中样式(Style)和模板(Template)都属于控件资源,也就是说,两者都可以被定义 在资源文件中,而在项目页面中,仅需使用Style和Template属性调用就可以了。
Style:
1
Template:这个方法,也是Blend所支持的方法,下面我们看看实例,进一步理解。
1
上面介绍了样式和模板的最基本的用法。在实际项目中,我们经常把模板(Template)定义在样式 (Style)中,也就是将Template作为一个属性被赋值在Style中,这样当样式(Style)被应用在控件中 时,新的模板也会同时加载。例如下面Button样式代码,
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
3
4
5
从代码中可以看出,使用?Style=“{StaticResource?ButtonStyle1}” 的按钮,已经将默认Button样式 替换为新的Button样式。如果想修改最后一个Button的样式,同样,把Style=“{StaticResource? ButtonStyle1}” 属性添加到Button中即可。?在Blend中可以非常简单的应用新的样式到控件。
在需要被应用样式的Button控件上点击鼠标右键,然后选择“Edit Template”->“Apply Resource” ->选中当前需要被应用的样式,在主设计窗口即可看到控件样式的变化。
现在,我们切换左边的Objects and Timeline 到 States,当前选中的States是CommonStates组中的 Normal, 阅读过上一篇VSM教程的,相信对这里并不陌生,Normal表示Button控件的正常视图状态。
这里我们可以看到,在主设计窗口,Button样式仍旧是紫色
当我们选中MouseOver视图状态时,主设计窗口Button样式,变成默认的样式。这说明,每个Visual State视觉状态都有自己独立样式,和上一篇讲述的控件每个视图状态都有独立性是相符的。
所以,要修改完整的一套控件样式,需要以控件的视图状态为基础,修改每个会引起控件视图产生变 化的状态。这里,我们选中MouseOver后,切换Tab到 Objects and Timeline,
选中“BackgroundGradient”,修改Button控件在鼠标覆盖后的背景,
保存后,F5运行该例程,当鼠标放在Button上,自动会切换Button样式。
Normal状态:
MouseOver状态:
Pressed状态:
上图可以看出Pressed状态并没有改变,仍旧是默认样式。其样式修改方法与上面的方法相同,这里不 再重复,大家可以按照以上方法修改。
对于控件样式的的控制,基本已经讲完。在下一篇将介绍Template模板的应用实例。
篇2: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,VS2010和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(?
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控件模板创建完毕。
如果您在开发设计过程中遇到问题,欢迎留言给我。
本文配套源码
篇3: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布局控件快速入门就介绍到这儿了。
篇4:Expression Blend实例中文教程 项目控件和用户交互控件快速入门
前文我们曾经描述过,微软把Silverlight控件大致分为三类:
第一类: Layout Controls(布局控件)
第二类: Item Controls (项目控件)
第三类: User Interaction Controls(用户交互控件)
我们已经对第一类布局控件在Blend中的应用进行了描述,本文将介绍Item Controls,也称为项目控 件;和User Interaction Controls,也称为用户交互控件.
Item Controls (项目控件)
在实际项目中,我们经常会遇到处理数据集合或者数组的情况,而处理数据集合最好的方法就是使用 “Binding”绑定。正如您所知道的,在 ASP.NET中,就已经应用了“Binding”绑定的概念,其优势在于 节省了大量的开发时间,降低了开发难度。而在Silverlight中微软加强了Binding功能,并且使用Item Controls(项目控件)来显示和处理数据集合和数组类型数据。Silverlight提供了四种标准项目控件, 分别是 ListBox,ComboBox,TabControl和TreeView。 下面,我将演示在Blend中如何使用这些控件。
根据上文描述,使用Item Controls前,首先需要绑定数据,而绑定数据需要有相关数据源,所以,我 们需要先定义数据源。本文依旧使用前文例程 SilverlightBlendDemo,在Silverlight客户端创建一个新 的 Usercontrol,ItemControlsDemo.xaml.
创建完毕后,主设计窗口将呈现ItemControlsDemo的UI设计界面,看右边属性栏,有三个Tab,其中包 含“Data”,选中Data,
该窗口允许用户在Blend中定义数据源,导入XML格式数据,定义外部数据源等功能。
首先,我们选择“Define New Sample Data..“,定义一个新的例程数据源,名字使用默认 SampleDataSource。其中,Define in是指定该数据源的应用访问,默认为整个项目,当然,如果作为测 试,也可以指定该数据源仅应用于当前打开文档。这里,我们使用默认设置。
创建完成后,在右边Data数据栏中,会出现SampleDataSource选项,而在该数据源下包含一个集合 “Collection”,该集合默认有两个属性“Property1”和“Property2”。在项目应用中,可以根据需要 再添加新的属性。
由于我们添加的是例程数据源,Blend已经在该数据源中添加了例程数据,根据需求,我们可以对例程 数据进行修改。首先选择Collection,然后点击编辑例程数据,
可以看到,Blend生成的默认例程数据,这里我们可以进行简单修改,Property1默认类型String, Property2默认类型为Boolean,这里我想修改Property2为String,
类型修改为String,还可以修改该数据列的具体的格式:
为了方便演示我修改两个默认属性名,分别为,“网站”和“网址”
点击OK,例程数据建立完成,
下面,看看在Blend中如何使用Item Controls装载数据源。首先我们测试ListBox:
在左边工具栏,选择ListBox控件,然后在ItemControlsDemo.Xaml设计页面,画一个ListBox。
然后从右边Data栏中,选中Collection,拖拽到ListBox空白处,ListBox即可自动绑定例程数据。
Blend会自动生成XAML代码,对例程数据进行绑定。
1
2
3
4
5
6
7
8
9
10
11
这样就轻松实现了ListBox绑定例程数据。
再试试ComboBox,从左边工具框选择ComboBox,在设计页面画一个ComboxBox,
仍旧按照以上方法,拖拽Collection到ComboBox上,即可看到数据已经进行绑定。
同样,在Treeview中,也可以正常绑定。
在数据绑定的时候,Data栏目,会有黄色的框,表示“Data Binding”。
具体的定义,在Property属性栏中查看:
以上则是使用Blend对Item Controls进行数据绑定的方法。由于文本主要讲述Blend应用,这里,就不 再对Item Controls的属性进行赘述,如果您有问题可以留言给我。
User Interaction Controls(用户交互控件)
Silverlight控件中,User Interaction Controls是面向用户行为交互,该控件和ASP.NET和WPF中的 大部分交互控件相同,用法也基本相似。其选取和设计,和前文Item Controls相同,这里就不再赘述。 需要注意的是,不同的交互控件,具有不同的交互事件,从而达到不同的交互效果。在后文,如果有需要 ,我将详细解释说明。
本节源代码下载:silverlightchina.net/uploads/soft/100325/1- 100325132101.zip
篇5: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 的布局控件,我们已经介绍完了,笔者建议,在学习的过程中,还要配合实践,这样会达到熟练的效果。
篇6: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在实际 应用中的使用方法。
篇7:Excel实例:快速个人通讯录EXCEL基本教程
用Excel完成工作,把数据录入到工作表中是最基础的步骤,也许大家在想:这有什么好学的,只要会打字不就行了吗?
实际情况可不是想像中这么简单,不同的工作需要不同的数据格式,Excel工作表中有各种数据类型,我们必须理解工作表中不同数据类型的含义,分清它们之间的区别,才能为圆满地完成任务打下坚实的基础。同时,学会各类数据的输入、使用和修改是必备的基本能力。
学习目标:
1. 理解工作表所用的数据类型
2. 学会在工作表中输入文本和数值
3. 学会在工作表中输入日期和时间
4. 学会修改和编辑数据
5. 学会通过设置单元格格式改变工作表数据外观
实际任务:
1. 制作个人通讯录
2. 制作学生基本信息表
3. 制作考试时间安排表
4. 制作员工工资表
理解Excel使用的数据类型
或许你已有向Excel输入数据的经历,不管你是否意识到,事实上Excel单元格中只保存三种类型的数据:数值、文本和公式。了解它们之间的区别,可以有效提高自己处理的能力,显然,这项能力是解决各种复杂问题的基础。
(一) 数值
概括地说,数值可以理解为一些数据类型的数量,数值有一个共同的特点,就是常常用于各种数学计算。工资数、学生成绩、员工年龄、销售额等等数据,都属于数值类型。当然,我们常常使用日期、时间数据也都属于数值类型的数据。
(二) 文本
说明性,解释性的数据描述我们称为文本类型。文本当然是非数值类型的。比如,员工信息表的列标题“员工编号”、“姓名”、“性别”、“出生年月”等等字符都属于文本类型。文本和数值有时候容易混淆,比如手机号码“13391129978”,银行帐号“3100090001201596254”,从外表上它是数字组成的,但实际上我们应告诉Excel把它们作为文本处理,因为它们并不是数量,而是描述性的文本。
(三) 公式
我们把公式列为不同于“数值”和“文本”之外的第三种数据类型。公式的共同特点是以“=”号开头,它可以是简单的数学式,也可以是包含各种Excel函数的式子。
公式在Excel的重要地位不言而喻,它可以通过单元格中的数值或者是文本算出各种所需的结果。Excel之所以具有如此强大的数据处理能力,公式是最为重要的因素之一。
现在大家对基本概念有了了解,下面我们通过几个具体的实际任务的操作,来实现学习目标。今天我们从第一个实例整理个人通讯录开始详细讲解。
通过这个实例,我们主要可以学习到如何更改工作表标签的名称,合并几个单元格,如何输入日期,如何告诉Excel把输入的数字作为文本处理,以及单元格列宽和行高的调整方法。这些知识与技能都是在输入数据时常常需要用到的。
实例一、整理个人通讯录(一)这是非常实用的一个简单实例,这个任务要做的主要工作是,把联系人相应数据输入Excel工作表中,方便以后需要时使用,最终效果如图1。
操作方法与步骤:
1.建表
启动Excel2003,使用默认新建的工作薄和工作表。先修改Sheet1工作表的标签名称为“联系人通讯录”。将鼠标移至Sheet1标签处,单击鼠标右键,在弹出的菜单中选择“重命名”命令(图 2),原来的标签名称“Sheet1”显示为反白,这时输入“联系人通讯录”回车即可。
关 键 字:EXCEL
篇8:快速入门SQL定义存储过程数据库教程
SQL存储过程在SQL数据库中用途广泛,下面为您介绍如何定义SQL存储过程,如果您是刚接触SQL数据库的用户,不妨一看,希望对您学习SQL存储过程有所帮助,
CREATEPROCEDUREget_tableinfoASifnotexists (select*fromdbo.sysobjectswhereid = object_id(N'[dbo].[tablespaceinfo]')andOBJECTPROPERTY(id, N'IsUserTable') = 1)createtabletablespaceinfo--创建结果存储表(nameinfovarchar(50) ,rowsinfoint, reservedvarchar(20) ,datainfovarchar(20) ,index_sizevarchar(20) ,unusedvarchar(20) )deletefromtablespaceinfo--清空数据表declare@tablenamevarchar(255)--表名称declare@cmdsqlvarchar(500)DECLAREInfo_cursorCURSORFORselecto.namefromdbo.sysobjects owhereOBJECTPROPERTY(o.id, N'IsTable') = 1ando.namenotlikeN'#%%'orderbyo.nameOPENInfo_cursorFETCHNEXTFROMInfo_cursorINTO@tablenameWHILE @@FETCH_STATUS = 0BEGINif exists (select*fromdbo.sysobjectswhereid = object_id(@tablename)andOBJECTPROPERTY(id, N'IsUserTable') = 1)executesp_executesqlN'insert into tablespaceinfo exec sp_spaceused @tbname',N'@tbname varchar(255)',@tbname = @tablenameFETCHNEXTFROMInfo_cursorINTO@tablenameENDCLOSEInfo_cursorDEALLOCATEInfo_cursorGO
篇9:浩辰CAD2013教程_(72)快速入门CAD
一、CAD绘制基本图形对象
1、几个CAD软件基本常用的命令
1.1、鼠标操作 (askcad.com),为工程师增加动力
通常情况下左键代表选择功能,右键代表确定“回车”功能,如果是3D鼠标,则滚动键起缩放作用。拖拽操作是按住鼠标左键不放拖动鼠标。但是在窗口选择时从左往右拖拽和从右往左拖拽有所不同。
窗选:左图从左往右拖拽选中实线框内的物体,只选中了左边的柱子。
框选:右图从右往左拖拽选中虚线框内的物体和交叉的物体,选中了右边的柱子和梁。
1.2、Esc取消操作:当正在执行命令的过程中,敲击Esc键可以中止命令的操作。
1.3、撤销放弃操作:浩辰机械cad支持无限次撤销操作,单击撤销按钮 或输入u,回车。
1.4、浩辰机械CAD中,空格键和鼠标右键等同回车键,都是确认命令,经常用到。
(askcad.com),为工程师增加动力!
1.5、经常查看命令区域的提示,按提示操作,
2、绘制图形的几个操作
这是cad的绘图工具条,在使用三维算量往往不需要使用,因此已把该工具条隐藏。为了了解cad概念,以下介绍几个基本的命令。
2.1绘制直线:单击工具条直线命令或在命令行中输入L,回车。在绘图区单击一点或直接输入坐标点,回车,接着指定下一点,回车,重复下一点,或回车结束操作。或者输入C闭合。
2.2绘制多段线:多段线是由一条或多条直线段和弧线连接而成的一种特殊的线,还可以具备不同宽度的特征。快捷键:PL。在三维算量中定义异形截面、手绘墙、梁等时常用。
举例:绘制一个异形柱截面 (askcad.com),为工程师增加动力)
命令行输入:PL,回车。指定下一点,输入w(宽度),输入1,回车,修改了多段线线的宽度为1。输入快捷键F8,使用cad的正交功能,,保持直线水平,输入:500。输入:A,开始绘制圆弧,单击另一点绘制一个圆弧。
输入:L,切换到绘制直线,单击一点,绘制一段直线。
输入:A,绘制一个圆弧与开始点闭合为一个界面形状。
接下来就可以定义一个异形截面的柱,来选择该多段性即可。
篇10:Excel中巧用样式列表快速实现换行EXCEL基本教程
在Excel的一个单元格中输入文本较多时,我们经常会对该单元格进行格式设置,以让这些文本实现自动换行,然而当这样的情况频繁出现时,这种格式设置会显得比较麻烦,如果有一种快捷的方法可以轻松实现单元格内文本自动换行就好了。经过实践,发现可以通过使用样式列表快速实现这一功能。
下面是具体操作步骤。
一、在格式工具栏中添加样式列表
1.在Excel的任一工具栏上单击右键,从弹出菜单中选择“自定义”命令。
2.单击“自定义”对话框中的“命令”选项卡。
3.在“类别”下方列表中单击“格式”,然后从右侧“命令”列表中将“格式”列表图标拖放到格式工具栏字体大小列表的右侧,如图1所示。
图1
4.单击“关闭”按钮。如图2所示,现在格式工具栏上多了一个样式列表。
图2
二、在样式列表中添加“文本自动换行”样式
1.在某个单元格中输入一些文本,然后按快捷键Ctrl+1,打开“单元格格式”对话框,
2.单击对话框中的“对齐”选项卡,然后选中“文本控制”下方的复选框“自动换行”,如图3所示。单击“确定”按钮关闭该对话框。这两步即为通常情况下实现单元格内容自动换行的方法。
图3
3.单击格式工具栏样式列表中的输入框,注意不是单击右侧的小箭头,输入“文本自动换行”,如图4所示,并按回车键。
图4
4.经过以上步骤,实际上已经建立了快速应用“自动换行”格式的快捷方式,当我们需要为其它单元格应用“自动换行”时,选中单元格,然后从样式列表中选择“文本自动换行”即可。
关 键 字:EXCEL
★ PS快速磨皮教程
★ Discuz!应用教程:如何在Discuz! X1.5上快速制作
★ InnoDB 中文参考手册 10 multiversioning 的实现数据库教程
★ 《The Elements of Programming Style 》老人言
★ 聘用合同样式
★ 车辆责任书样式
Expression Blend实例中文教程样式和快速入门Style,Template(合集10篇)




