silverlight:Silverlight(8) - 2.0图形的基类System.Windows.Shapes.Shape

  本文源代码下载地址:

  http://flashview.ddvip.com/2008_11/Silverlight.rar

  Fill - 填充(.Windows.Media.Brush类型)

  Stroke - 笔触(.Windows.Media.Brush类型)

  StrokeThickness - 笔触尺寸

  Stretch - 拉伸值 [.Windows.Media.Stretch 枚举]

  StrokeDashArray - 虚线和间隙集合 [.Windows.Media.Stretch 枚举]

  StrokeDashCap - 虚线两端(线帽)类型 [.Windows.Media.PenLineCap 枚举]

  StrokeStartLineCap - 虚线起始端(线帽)类型 [.Windows.Media.PenLineCap 枚举]

  StrokeEndLineCap - 虚线终结端(线帽)类型 [.Windows.Media.PenLineCap 枚举]

  StrokeDashOff - 虚线起始位置从虚线起始端 StrokeDashOff 距离处开始描绘虚线

  StrokeLineJoin - 图形连接点处连接类型 [.Windows.Media.PenLineJoin 枚举]

  StrokeMiterLimit - 斜接长度 和 StrokeThickness/2 比值默认值 10最小值 1

  在线DEMO

  http://www.cnblogs.com/webabcd/archive/2008/10/09/1307486.html

  举例

  Shape.xaml

<UserControl x:Class="Silverlight20.Shape.Shape"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  <StackPanel HorizontalAlignment="Left">
  
    <Grid Margin="10" HorizontalAlignment="Left">
      
      <!--
      Fill - 填充(.Windows.Media.Brush类型)
      Stroke - 笔划(边框)(.Windows.Media.Brush类型)
      StrokeThickness - 笔划(边框)尺寸
      -->
      <Rectangle Width="200" Height="50" Fill="Red" Stroke="Yellow" StrokeThickness="3" />
      
    </Grid>
    
    <Grid Width="200" Height="200" Margin="10" HorizontalAlignment="Left" ShowGridLines="True">
      <Grid.RowDefinitions>
        <RowDefinition Height="100" />
        <RowDefinition Height="100" />
      </Grid.RowDefinitions>
      <Grid.ColumnDefinitions>
        <ColumnDefinition Width="100" />
        <ColumnDefinition Width="100" />
      </Grid.ColumnDefinitions>
  
      <!--Stretch属性 - 拉伸值 [.Windows.Media.Stretch 枚举]-->
      
      <!--
      Stretch.None - 不做处理
        不做任何拉伸处理填充内容保持原始大小
      -->
      <Rectangle Grid.Row="0" Grid.Column="0"
           Width="80" Height="40" Fill="Red" Stroke="Yellow" StrokeThickness="6"
           Stretch="None" />
      
      <!--
      Stretch.Fill - 充满
        调整填充内容以充满整个容器填充内容比例变为容器比例默认值      
      -->
      <Rectangle Grid.Row="0" Grid.Column="1"
           Width="180" Height="40" Fill="Red" Stroke="Yellow" StrokeThickness="6"
           Stretch="Fill" />
      
      <!--
      Stretch.Unorm - 等比适应
        调整填充内容以适合容器尺寸填充内容会做等比例调整
        如果填充内容和容器比例不那么填充内容调整结果为:
        使得填充内容宽和容器宽相等或者 填充内容高和容器高相等填充内容会被完整显示
      -->
      <Rectangle Grid.Row="1" Grid.Column="0"
           Width="80" Height="40" Fill="Red" Stroke="Yellow" StrokeThickness="6"
           Stretch="Unorm" />
      
      <!--
      Stretch.UnormToFill - 等比充满
        调整填充内容以适合容器尺寸填充内容会做等比例调整
        如果填充内容和容器比例不那么填充内容调整结果为:
        使得填充内容宽和容器宽相等并且 填充内容高和容器高相等填充内容会被做相应剪裁
      -->
      <Rectangle Grid.Row="1" Grid.Column="1"
           Width="80" Height="40" Fill="Red" Stroke="Yellow" StrokeThickness="6"
           Stretch="UnormToFill" />
      
    </Grid>
  
    <Grid Margin="10" HorizontalAlignment="Left">
      <Grid.RowDefinitions>
        <RowDefinition Height="20" />
        <RowDefinition Height="20" />
        <RowDefinition Height="20" />
        <RowDefinition Height="20" />
        <RowDefinition Height="20" />
        <RowDefinition Height="20" />
        <RowDefinition Height="20" />
      </Grid.RowDefinitions>
  
      <!--
      StrokeDashArray - 虚线和间隙集合 [.Windows.Media.Stretch 枚举]
        奇数项为虚线长度;偶数项为间隙长度;如果只有个值则虚线长度和间隙长度都为该值
      -->
      <Line Grid.Row="0" X1="0" Y1="0" X2="400" Y2="0" Stroke="Red" StrokeThickness="10"
         StrokeDashArray="2" />
          
      <!--
      StrokeDashCap - 虚线两端(线帽)类型 [.Windows.Media.PenLineCap 枚举]
        PenLineCap.Flat - 无默认值
        PenLineCap.Round - 直径等于 StrokeThickness
        PenLineCap.Square - 高度等于 StrokeThickness 并且 宽度等于 StrokeThickness/2
        PenLineCap.Triangle - 底边长等于 StrokeThickness 等腰直角 3角形
      -->
      <Line Grid.Row="1" X1="0" Y1="0" X2="400" Y2="0" Stroke="Red" StrokeThickness="10"
         StrokeDashArray="2,4,6" StrokeDashCap="Flat" />
    
      <Line Grid.Row="2" X1="0" Y1="0" X2="400" Y2="0" Stroke="Red" StrokeThickness="10"
         StrokeDashArray="2,4,6" StrokeDashCap="Round" />
      <Line Grid.Row="2" X1="0" Y1="0" X2="400" Y2="0" Stroke="Black" StrokeThickness="10"
         StrokeDashArray="2,4,6" StrokeDashCap="Flat" />
  
      <Line Grid.Row="3" X1="0" Y1="0" X2="400" Y2="0" Stroke="Red" StrokeThickness="10"
         StrokeDashArray="2,4,6" StrokeDashCap="Square" />
      <Line Grid.Row="3" X1="0" Y1="0" X2="400" Y2="0" Stroke="Black" StrokeThickness="10"
         StrokeDashArray="2,4,6" StrokeDashCap="Flat" />
  
      <Line Grid.Row="4" X1="0" Y1="0" X2="400" Y2="0" Stroke="Red" StrokeThickness="10"
         StrokeDashArray="2,4,6" StrokeDashCap="Triangle" />
      <Line Grid.Row="4" X1="0" Y1="0" X2="400" Y2="0" Stroke="Black" StrokeThickness="10"
         StrokeDashArray="2,4,6" StrokeDashCap="Flat" />
      
      <!--
      StrokeStartLineCap - 虚线起始端(线帽)类型 [.Windows.Media.PenLineCap 枚举]
      StrokeEndLineCap - 虚线终结端(线帽)类型 [.Windows.Media.PenLineCap 枚举]
      -->
      <Line Grid.Row="5" X1="0" Y1="0" X2="400" Y2="0" Stroke="Red" StrokeThickness="10"
         StrokeDashArray="2,4,6" StrokeStartLineCap="Square" StrokeEndLineCap="Triangle" />
      <Line Grid.Row="5" X1="0" Y1="0" X2="400" Y2="0" Stroke="Black" StrokeThickness="10"
         StrokeDashArray="2,4,6" StrokeDashCap="Flat" />
      
      <!--
      StrokeDashOff - 虚线起始位置从虚线起始端 StrokeDashOff 距离处开始描绘虚线
      -->
      <Line Grid.Row="6" X1="0" Y1="0" X2="400" Y2="0" Stroke="Red" StrokeThickness="10"
         StrokeDashArray="2,4,6" StrokeDashOff="1" />
  
    </Grid>
  
    <Grid Margin="10" HorizontalAlignment="Left" ShowGridLines="True">
      <Grid.ColumnDefinitions>
        <ColumnDefinition Width="120" />
        <ColumnDefinition Width="120" />
        <ColumnDefinition Width="120" />
      </Grid.ColumnDefinitions>
  
      <!--StrokeLineJoin属性 - 图形连接点处连接类型 [.Windows.Media.PenLineJoin 枚举]-->
  
      <!--
      StrokeLineJoin.Bevel - 线形连接
      -->
      <Polyline Grid.Column="0"
           Pos="10,100 50,10 100,100" Stroke="Red" StrokeThickness="20" HorizontalAlignment="Center"
           StrokeLineJoin="Bevel" />
  
      <!--
      StrokeLineJoin.Miter - 角形连接默认值
      -->
      <Polyline Grid.Column="1"
           Pos="10,100 50,10 100,100" Stroke="Red" StrokeThickness="20" HorizontalAlignment="Center"
           StrokeLineJoin="Miter" />
  
      <!--
      StrokeLineJoin.Round - 弧形连接
      -->
      <Polyline Grid.Column="2"
           Pos="10,100 50,10 100,100" Stroke="Red" StrokeThickness="20" HorizontalAlignment="Center"
           StrokeLineJoin="Round" />
      
    </Grid>
  
    <Grid Margin="10" HorizontalAlignment="Left" ShowGridLines="True">
      <Grid.ColumnDefinitions>
        <ColumnDefinition Width="120" />
        <ColumnDefinition Width="120" />
        <ColumnDefinition Width="120" />
      </Grid.ColumnDefinitions>
      
      <!--StrokeMiterLimit属性 - 斜接长度(蓝色线部分)和 StrokeThickness/2 比值默认值 10最小值 1-->
  
      <Polyline Grid.Column="0"
           Pos="0,100 50,10 100,100" Stroke="Red" StrokeThickness="20"
           StrokeMiterLimit="1" />
      <Line Grid.Column="0" X1="0" Y1="100" X2="50" Y2="10" Stroke="Yellow" />
      <Line Grid.Column="0" X1="50" Y1="10" X2="100" Y2="100" Stroke="Yellow" />
      <Line Grid.Column="0" X1="50" Y1="10" X2="50" Y2="0" Stroke="Blue" />
  
      <Polyline Grid.Column="1"
           Pos="0,100 50,10 100,100" Stroke="Red" StrokeThickness="20"
           StrokeMiterLimit="2.0" />
      <Line Grid.Column="1" X1="0" Y1="100" X2="50" Y2="10" Stroke="Yellow" />
      <Line Grid.Column="1" X1="50" Y1="10" X2="100" Y2="100" Stroke="Yellow" />
      <Line Grid.Column="1" X1="50" Y1="10" X2="50" Y2="-10" Stroke="Blue" />
  
      <Polyline Grid.Column="2"
           Pos="0,100 50,10 100,100" Stroke="Red" StrokeThickness="20"
           />
      <Line Grid.Column="2" X1="0" Y1="100" X2="50" Y2="10" Stroke="Yellow" />
      <Line Grid.Column="2" X1="50" Y1="10" X2="100" Y2="100" Stroke="Yellow" />
      <Line Grid.Column="2" X1="50" Y1="10" X2="50" Y2="-10" Stroke="Blue" />
      
    </Grid>
  
  </StackPanel>
</UserControl>


  OK



Tags:  silverlight2 silverlight.2.0 silverlight是什么 silverlight

延伸阅读

最新评论

发表评论