--- title: "How to: Create a Shape Using a StreamGeometry" description: Learn how to create a Shape using a StreamGeometry. ms.date: "03/30/2017" ms.custom: devdivchpfy22 dev_langs: - "csharp" - "vb" helpviewer_keywords: - "graphics [WPF], shapes" - "shapes [WPF], creating with StreamGeometry class" ms.assetid: 08f7c8ce-074b-49cd-9aba-cc9592d4ee51 --- # How to: Create a Shape Using a StreamGeometry is lightweight alternative to for creating geometric shapes. Use a when you need to describe a complex geometry but do not want the overhead of supporting data binding, animation, or modification. For example, because of its efficiency, the class is a good choice for describing adorners. ## Create a triangular StreamGeometry The following example uses attribute syntax to create a triangular in [!INCLUDE[TLA2#tla_xaml](../../../includes/tla2sharptla-xaml-md.md)]. [!code-xaml[GeometriesMiscSnippets_snip#StreamGeometryTriangleExampleWholePage](~/samples/snippets/xaml/VS_Snippets_Wpf/GeometriesMiscSnippets_snip/XAML/StreamGeometryExample.xaml#streamgeometrytriangleexamplewholepage)] For more information about attribute syntax, see the [Path Markup Syntax](path-markup-syntax.md) page. ## Use a StreamGeometry to define a triangle The next example uses a to define a triangle in code. First, the example creates a , then obtains a and uses it to describe the triangle. [!code-csharp[GeometriesMiscSnippets_procedural_snip#StreamGeometryTriangleExampleWholePage](~/samples/snippets/csharp/VS_Snippets_Wpf/GeometriesMiscSnippets_procedural_snip/CSharp/StreamGeometryTriangleExample.cs#streamgeometrytriangleexamplewholepage)] [!code-vb[GeometriesMiscSnippets_procedural_snip#StreamGeometryTriangleExampleWholePage](~/samples/snippets/visualbasic/VS_Snippets_Wpf/GeometriesMiscSnippets_procedural_snip/visualbasic/streamgeometrytriangleexample.vb#streamgeometrytriangleexamplewholepage)] ## Create a geometric shape in code The next example creates a method that uses a and to define a geometric shape based on specified parameters. [!code-csharp[GeometriesMiscSnippets_procedural_snip#StreamGeometryExampleWholePage](~/samples/snippets/csharp/VS_Snippets_Wpf/GeometriesMiscSnippets_procedural_snip/CSharp/StreamGeometryExample.cs#streamgeometryexamplewholepage)] [!code-vb[GeometriesMiscSnippets_procedural_snip#StreamGeometryExampleWholePage](~/samples/snippets/visualbasic/VS_Snippets_Wpf/GeometriesMiscSnippets_procedural_snip/visualbasic/streamgeometryexample.vb#streamgeometryexamplewholepage)] ## See also - - - - [Create a Shape by Using a PathGeometry](how-to-create-a-shape-by-using-a-pathgeometry.md) - [Geometry Overview](geometry-overview.md)