天天看点

在Microsoft Expression Blend 2 中绘制圆角矩形按钮

原文:

在Microsoft Expression Blend 2 中绘制圆角矩形按钮

/* 声明:转载请保留此信息:

http://www.BrawDraw.com

,

http://www.ZPXP.com

版权所有:a3news(AT)hotmail.com */

(1)打开Blend 2,新建一个工程名称为:LinearGradientButton。 

(2)使用矩形工具,在绘图区中拖出一个矩形框,使用你喜欢的颜色进入填充。

在Microsoft Expression Blend 2 中绘制圆角矩形按钮

(3)使用视图缩放工具将绘图区可见物件区域放大,为了方便操作。当鼠标移动到上图左上角外的两个棱形小把柄上时,将显示如下图所示的带“+”号的一个鼠标拖动圆角矩形块。你可以按住后左右拖动它,这样就可以调整圆角矩形的圆角半径,调整后合适大小后松开鼠标左键。

在Microsoft Expression Blend 2 中绘制圆角矩形按钮

(4)按Ctrl+C, 复制上面所得结果图形,再按Ctrl+V,得到一个相同的物件。使用箭头工具以及Shift,Ctrl,Alt键等的组合键,拖拉此物件至合适的位置及大小(注意将此复制物件放在圆角矩形的内部,保持四周大小大致相同)。之后,使用渐变填充,见下图:

在Microsoft Expression Blend 2 中绘制圆角矩形按钮

设置后此物件的填充样式,同时使用渐变方向调整工具(在左边工具条中)调整颜色的渐变方向。最后得到如下结果:

在Microsoft Expression Blend 2 中绘制圆角矩形按钮

(5)按Ctrl+C,再按Ctrl+V复制/粘贴它,之后在右边属性(Properties)面板中找到Transform选项卡,在旋转角度(Angle)中输入180后回车(如下图):

在Microsoft Expression Blend 2 中绘制圆角矩形按钮

这样就可以得到下面部分的渐变效果,结果:

在Microsoft Expression Blend 2 中绘制圆角矩形按钮

你可以在(4)中第一幅图所示的工具中再次设置此渐变的颜色,也可以使用渐变调整工具调整渐变的位置及大小。

OK,得到一个圆形矩形按钮的样式了。

建议:

为了今后编程使用更方便,建议你在制作的过程中养成及时对物件进行必要的命名,比如底图所用的圆形矩形,你可以取名为RoundRect_Bg,上面部分的渐变可以设置为:RoundRect_LinearGradientTop,下面部分的渐变可以设置为:RoundRect_LinearGradientBottom等等。

下面是最终的XAML代码:

<Window

 xmlns="

http://schemas.microsoft.com/winfx/2006/xaml/presentation

"

 xmlns:x="

http://schemas.microsoft.com/winfx/2006/xaml

 x:Class="LinearGradientButton.LinearGradientDemo"

 x:Name="Window"

 Title="LinearGradientDemo"

 Width="181" Height="94">

 <Grid x:Name="LayoutRoot">

  <Rectangle Fill="#FFBD1C1C" Stroke="#FF000000" StrokeThickness="0" RadiusX="22.031" RadiusY="22.031" RenderTransformOrigin="0.5,0.5" x:Name="RoundRect_Bg" HorizontalAlignment="Left" Margin="2.879,5.879,0,0" VerticalAlignment="Top" Width="155" Height="43">

   <Rectangle.RenderTransform>

    <TransformGroup>

     <ScaleTransform ScaleX="1" ScaleY="1"/>

     <SkewTransform AngleX="0" AngleY="0"/>

     <RotateTransform Angle="0"/>

     <TranslateTransform X="0" Y="0"/>

    </TransformGroup>

   </Rectangle.RenderTransform>

  </Rectangle>

  <Rectangle Stroke="#FF000000" RadiusX="20" RadiusY="20" StrokeThickness="0" RenderTransformOrigin="0.5,0.5" x:Name="RoundRect_LinearGradientTop" HorizontalAlignment="Left" Margin="5.237,8.002,0,0" VerticalAlignment="Top" Width="150.693" Height="38.046">

   <Rectangle.Fill>

    <LinearGradientBrush EndPoint="0.477,0.561" StartPoint="0.476,-0.096">

     <GradientStop Color="#FFFCFCFC" Offset="0"/>

     <GradientStop Color="#00FFFFFF" Offset="0.995"/>

    </LinearGradientBrush>

   </Rectangle.Fill>

  <Rectangle Stroke="#FF000000" RadiusX="20" RadiusY="20" StrokeThickness="0" RenderTransformOrigin="0.5,0.5" HorizontalAlignment="Left" Margin="5.237,8.305,0,0" x:Name="RoundRect_LinearGradientBottom" VerticalAlignment="Top" Width="150.693" Height="38.046">

    <LinearGradientBrush EndPoint="0.48,0.342" StartPoint="0.481,-0.18">

     <RotateTransform Angle="180"/>

 </Grid>

</Window>

下一篇讲解

在VS2005中设置WPF中自定义按钮的事件