StreamGeometryContext.PolyLineTo(IList<Point>, Boolean, Boolean) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Desenha uma ou mais linhas retas conectadas.
public:
abstract void PolyLineTo(System::Collections::Generic::IList<System::Windows::Point> ^ points, bool isStroked, bool isSmoothJoin);
public abstract void PolyLineTo (System.Collections.Generic.IList<System.Windows.Point> points, bool isStroked, bool isSmoothJoin);
abstract member PolyLineTo : System.Collections.Generic.IList<System.Windows.Point> * bool * bool -> unit
Public MustOverride Sub PolyLineTo (points As IList(Of Point), isStroked As Boolean, isSmoothJoin As Boolean)
Parâmetros
A coleção de pontos que especificam os pontos de destino para uma ou mais linhas retas conectadas.
- isStroked
- Boolean
true
para deixar o segmento tracejado quando uma Pen for usada para renderizar o segmento, caso contrário, false
.
- isSmoothJoin
- Boolean
true
para tratar a junção entre esse segmento e o segmento anterior como um canto quando traçados com um Pen; caso contrário, false
.
Exceções
Foi feita uma tentativa para adicionar um segmento sem iniciar uma figura ao chamar o método BeginFigure(Point, Boolean, Boolean).
Exemplos
O exemplo a seguir mostra como desenhar um triângulo usando o PolyLineTo método .
using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
using System.Windows.Shapes;
using System.Collections.Generic;
namespace SDKSample
{
public partial class StreamGeometryPolyLineToExample : Page
{
public StreamGeometryPolyLineToExample()
{
// Create a path to draw a geometry with.
Path myPath = new Path();
myPath.Stroke = Brushes.Black;
myPath.StrokeThickness = 1;
// Create a StreamGeometry to use to specify myPath.
StreamGeometry geometry = new StreamGeometry();
// Open a StreamGeometryContext that can be used to describe this StreamGeometry
// object's contents.
using (StreamGeometryContext ctx = geometry.Open())
{
// Begin the triangle at the point specified.
ctx.BeginFigure(new Point(10, 100), true /* is filled */, true /* is closed */);
// Create a collection of Point structures that will be used with the PolyLineTo
// Method to create a triangle.
List<Point> pointList = new List<Point>();
// Two Points are added to the collection. The PolyLineTo method will draw lines
// between the Points of the collection.
pointList.Add(new Point(100, 100));
pointList.Add(new Point(100, 50));
// Create a triangle using the collection of Point Structures.
ctx.PolyLineTo(pointList, true /* is stroked */, false /* is smooth join */);
}
// Freeze the geometry (make it unmodifiable)
// for additional performance benefits.
geometry.Freeze();
// specify the shape (triangle) of the path using the StreamGeometry.
myPath.Data = geometry;
// Add path shape to the UI.
StackPanel mainPanel = new StackPanel();
mainPanel.Children.Add(myPath);
this.Content = mainPanel;
}
}
}
Imports System.Windows
Imports System.Windows.Controls
Imports System.Windows.Media
Imports System.Windows.Shapes
Imports System.Collections.Generic
Namespace SDKSample
Partial Public Class StreamGeometryPolyLineToExample
Inherits Page
Public Sub New()
' Create a path to draw a geometry with.
Dim myPath As New Path()
myPath.Stroke = Brushes.Black
myPath.StrokeThickness = 1
' Create a StreamGeometry to use to specify myPath.
Dim geometry As New StreamGeometry()
' Open a StreamGeometryContext that can be used to describe this StreamGeometry
' object's contents.
Using ctx As StreamGeometryContext = geometry.Open()
' Begin the triangle at the point specified.
ctx.BeginFigure(New Point(10, 100), True, True) ' is closed - is filled
' Create a collection of Point structures that will be used with the PolyLineTo
' Method to create a triangle.
Dim pointList As New List(Of Point)()
' Two Points are added to the collection. The PolyLineTo method will draw lines
' between the Points of the collection.
pointList.Add(New Point(100, 100))
pointList.Add(New Point(100, 50))
' Create a triangle using the collection of Point Structures.
ctx.PolyLineTo(pointList, True, False) ' is smooth join - is stroked
End Using
' Freeze the geometry (make it unmodifiable)
' for additional performance benefits.
geometry.Freeze()
' specify the shape (triangle) of the path using the StreamGeometry.
myPath.Data = geometry
' Add path shape to the UI.
Dim mainPanel As New StackPanel()
mainPanel.Children.Add(myPath)
Me.Content = mainPanel
End Sub
End Class
End Namespace
Comentários
Esse método usa o ponto de extremidade do segmento anterior como ponto de partida. Se esse for o primeiro segmento em uma figura, ele usará o ponto especificado pelo BeginFigure método como seu ponto inicial.
Um StreamGeometry não poderá ser serializado se contiver um Transform ou qualquer segmento não acarinhado ou não preenchido.