.NET Framework 类库
Shape 类

更新:2007 年 11 月

EllipsePolygonRectangle 之类的形状元素提供基类。

命名空间:  System.Windows.Shapes
程序集:  PresentationFramework(在 PresentationFramework.dll 中)

语法

Visual Basic(声明)
<LocalizabilityAttribute(LocalizationCategory.None, Readability := Readability.Unreadable)> _
Public MustInherit Class Shape _
    Inherits FrameworkElement
Visual Basic (用法)
Dim instance As Shape
C#
[LocalizabilityAttribute(LocalizationCategory.None, Readability = Readability.Unreadable)]
public abstract class Shape : FrameworkElement
Visual C++
[LocalizabilityAttribute(LocalizationCategory::None, Readability = Readability::Unreadable)]
public ref class Shape abstract : public FrameworkElement
J#
/** @attribute LocalizabilityAttribute(LocalizationCategory.None, Readability = Readability.Unreadable) */
public abstract class Shape extends FrameworkElement
JScript
public abstract class Shape extends FrameworkElement
XAML
该类为抽象类;有关 XAML 中可用的派生的非抽象类,请参见 继承层次结构。
示例

下面的示例演示如何使用 Line 元素来绘制线条。

若要绘制线条,请创建一个 Line 元素。使用该元素的 X1Y1 属性设置线条起点,并使用该元素的 X2Y2 属性来设置线条终点。最后,设置该元素的 StrokeStrokeThickness,因为没有笔画的线条是看不见的。

为线条设置 Fill 元素将毫无意义,因为线条没有内部区域。

下面的示例将在 Canvas 元素内部绘制三个线条。

C#
<Canvas Height="300" Width="300">

  <!-- Draws a diagonal line from (10,10) to (50,50). -->
  <Line
    X1="10" Y1="10"
    X2="50" Y2="50"
    Stroke="Black"
    StrokeThickness="4" />

  <!-- Draws a diagonal line from (10,10) to (50,50)
       and moves it 100 pixels to the right. -->
  <Line
    X1="10" Y1="10"
    X2="50" Y2="50"
    StrokeThickness="4"
    Canvas.Left="100">
    <Line.Stroke>
      <RadialGradientBrush GradientOrigin="0.5,0.5" Center="0.5,0.5" RadiusX="0.5" RadiusY="0.5">
        <RadialGradientBrush.GradientStops>
          <GradientStop Color="Red" Offset="0" />
          <GradientStop Color="Blue" Offset="0.25" />
        </RadialGradientBrush.GradientStops>
      </RadialGradientBrush>
    </Line.Stroke>
  </Line>

  <!-- Draws a horizontal line from (10,60) to (150,60). -->
  <Line
     X1="10" Y1="60"
     X2="150" Y2="60"
     Stroke="Black"
     StrokeThickness="4"/>

</Canvas>

此示例摘自一个更大的示例;有关完整的示例,请参见形状元素示例

更多代码

如何:绘制椭圆或圆此示例演示如何通过使用 Ellipse 元素绘制椭圆或圆。若要绘制椭圆,请创建一个 Ellipse 元素并指定其 WidthHeight。使用其 Fill 属性来指定用于绘制椭圆内部区域的 Brush。使用其 Stroke 属性来指定用于绘制椭圆轮廓的 BrushStrokeThickness 属性指定椭圆轮廓的粗细。
如何:使用多边形元素来绘制闭合形状此示例演示如何使用 Polygon 元素绘制闭合形状。若要绘制闭合形状,请创建一个 Polygon 元素,并使用其 Points 属性指定形状的顶点。系统将自动绘制一条线连接第一个点和最后一个点。最后,指定 Fill 和/或 Stroke
如何:使用 Polyline 元素来绘制折线本示例演示如何通过 Polyline 元素绘制折线(一系列连接的线)。
继承层次结构

System..::.Object
  System.Windows.Threading..::.DispatcherObject
    System.Windows..::.DependencyObject
      System.Windows.Media..::.Visual
        System.Windows..::.UIElement
          System.Windows..::.FrameworkElement
            System.Windows.Shapes..::.Shape
              System.Windows.Shapes..::.Ellipse
              System.Windows.Shapes..::.Line
              System.Windows.Shapes..::.Path
              System.Windows.Shapes..::.Polygon
              System.Windows.Shapes..::.Polyline
              System.Windows.Shapes..::.Rectangle
线程安全

此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。
平台

Windows Vista

.NET Framework 和 .NET Compact Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求

版本信息

.NET Framework

受以下版本支持:3.5、3.0
另请参见

参考

其他资源

标记 :


Page view tracker