Blend4精选案例图解教程(一):丰富的形状(Shape)资源

摘要:
Blend4资源面板中内置了大量形状材料,这为我们构建程序提供了极大的便利。系统默认内置18种常用形状。可以通过属性设置自定义更多衍生形状,或者我们可以通过使用DirectSelection工具手动绘制来获得更多自由的形状编辑。

      Blend4资源面板中内置了丰富的形状素材,为我们在构建程序时提供极大的方便。系统默认内置18种常用形状,通过其属性设置可以自定义出更多衍生形状,或者通过Direct Selection工具手动绘制,我们可以获得更自由的形状编辑。当然我们还可以登陆 Expression Gallery 下载别人分享的素材(似乎并不多),来扩充形状资源库。

      因为形状的用法比较一致,重点是形状的不同属性设置,在此仅举一例来展示形状的常规用法。

1、 新建项目

1

2、 项目文件生成后,在Objects and Timeline面板中选中LayoutRoot

3-1

3、 然后在资源(Assets)面板中选中Shapes

 3

4、 我们可以通过双击或者拖拽的方式添加一个形状,这里我们使用Star来作演示,Star已添加到LayoutRoot中,如图

4

5、 选择Selection工具

5

确认五角星处于被选择状态(如未选择可以通过点击选择)

5-1

6、 在属性(Properties)面板中,我们可以对形状进行一系列的属性设置,直到符合我们的需要。下面我们对五角星进行简单的修饰。

把颜色调为红色

6

去边框

6-1 

OK,这样一个标准的五角星制作完成

8

7、 通过组合不同的属性设置,我们可以获得更多的效果:

手绘风格:

14 效果:15

更改Fill属性为渐变效果

11 效果:9

更改外观属性

12 效果:13

如果你愿意,可以做出更多的效果!

以上效果我们也可以通过XAML来实现,以下为完整代码:

<UserControl
	xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
	xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
	xmlns:ed="http://schemas.microsoft.com/expression/2010/drawing"
	x: 
	  Height="480">

	<Grid x:Name="LayoutRoot" Background="White">
		<ed:RegularPolygon InnerRadius="0.702" Margin="244,193,296,187" PointCount="20" Stretch="Fill" Stroke="Black" UseLayoutRounding="False" StrokeThickness="0" RenderTransformOrigin="0.5,0.5">
			<ed:RegularPolygon.Fill>
				<RadialGradientBrush>
					<GradientStop Color="#FFFF0001" Offset="0"/>
					<GradientStop Color="White" Offset="1"/>
				</RadialGradientBrush>
			</ed:RegularPolygon.Fill>
		</ed:RegularPolygon>
	</Grid>
</UserControl>

      在实际项目中,不推荐使用代码的方式来进行大规模的效果设计,Blend的设计功能,VS无可替代;作为程序员将Blend和VS的结合使用才能带来高效的SilverLight应用程序开发。后续章节,将通过实例一步一步展现Blend的强大魅力!

免责声明:文章转载自《Blend4精选案例图解教程(一):丰富的形状(Shape)资源》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Elasticsearch Java高级客户端怎么在vue中引入layui下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

json(转)

例如:varjsonObj={StudentID:“100”,名称:“tmac”,家乡:“usa”};回到顶部,如何在JS中使用JSON是JS的一个子集,因此您可以轻松地在JS中读写JSON。例如,现在我们有一个TStudent的学生表。表中的字段和现有数据如图所示。从表中,我们可以看到总共五条数据。现在我们需要从数据库中获取这些数据,然后使用JSON.NE...

spring5 源码深度解析----- AOP的使用及AOP自定义标签

接下来我们就详细分析下spring中的AOP。AOP的使用在开始前,先引入Aspect。那么,Spring是如何实现AOP的呢?首先我们知道,SPring是否支持注解的AOP是由一个配置文件控制的,也就是,当在配置文件中声明了这句配置的时候,Spring就会支持注解的AOP,那么我们的分析就从这句注解开始。AOP自定义标签之前讲过Spring中的自定义注解,...

目录扫描工具DirBuster

DirBuster用于检测web服务器上的目录和隐藏文件。因此,必须在运行之前安装Java环境。在TargetURL下输入要检测的网站的地址。请注意,地址应与协议一起添加。一种是自动选择。它将决定是使用head方法还是get方法。number of Thread是所选扫描线程的数量,selectscanning type是所选的扫描类型。Listbasedb...

VMP加壳(三):VMP壳爆破实战-破解某编辑类软件

同时,记住在内存视图中向VMP0段提供断点后继续单击确认按钮,以查看调用方法的位置(此处的返回地址为0x5E01E9),但此处返回push(或vm条目)。这个地方会是验证码检测的入口吗!通过字符串查找各种键提示(sn、不正确注册等)的内存:通过访问断点查找键代码,然后找出调用该函数的函数,这与JCC指令的距离更远。...

iReport制作报表,字数过多换行问题

1.当字段中显示的数据太长而无法放入表中时,需要自动换行。选择要更改的表(显示动态内容的字段),并将Stretchwithoverflow属性设置为选中。未选中前:选中后:2.然而,桌子坏了,非常难看。此时,我们需要设置一个属性,使同一行中的其他字段保持与换行字段相同的高度。此时,我们需要框选要显示在整行中的动态字段和表;将属性StretchType设置为R...

Swift开发中 JSON对象/JSON字符串/Data的互转

本文将介绍常见的转换#pragmark JSON(object)------˃JSON string 1,原生方法//JSON------˃data------˃JSON string letdata=try?JSON序列化。data#pragmark数据------˃JSON(对象)1.本机方法guardletarray=try?[[String:AnyO...