내보내기(0) 인쇄
모두 확장
이 문서는 기계로 번역한 것입니다. 원본 텍스트를 보려면 포인터를 문서의 문장 위로 올리십시오. 추가 정보
번역
원본

StreamGeometry 클래스

사용 하 여 설명, 기하학적 도형 정의 StreamGeometryContext. 이 기 하 표준 안으로 PathGeometry: 데이터 바인딩, 애니메이션 또는 수정을 지원 하지 않습니다.

네임스페이스:  System.Windows.Media
어셈블리:  PresentationCore(PresentationCore.dll)
XAML의 XMLNS: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation

[TypeConverterAttribute(typeof(GeometryConverter))]
public sealed class StreamGeometry : Geometry
<StreamGeometry .../>
<object property="moveAndDrawCommands"/>

XAML 값

moveAndDrawCommands

하나를 이동 및 그리기 명령을 합니다. See 경로 태그 구문.

StreamGeometry 형식에서는 다음과 같은 멤버를 노출합니다.

  이름설명
Public 메서드StreamGeometry빈의 새 인스턴스를 초기화를 StreamGeometry 클래스입니다.
위쪽

  이름설명
Public 속성Bounds가져옵니다는 Rect 이 포함할 수 있는 크기는 StreamGeometry. (Geometry.Bounds을(를) 재정의함)
Public 속성CanFreeze해당 개체를 수정할 수 없게 설정할 수 있는지 여부를 나타내는 값을 가져옵니다. (Freezable에서 상속됨)
Public 속성DependencyObjectType 이 인스턴스의 CLR 형식을 래핑하는DependencyObjectType를 가져옵니다. (DependencyObject에서 상속됨)
Public 속성Dispatcher가져옵니다는 DispatcherDispatcherObject 와 관련 된. (DispatcherObject에서 상속됨)
Public 속성FillRule교차 하는 영역에 포함 된 방법을 결정 하는 값을 가져오거나 설정 합니다. StreamGeometry 결합 됩니다.
Public 속성HasAnimatedProperties나타내는 값을 가져옵니다 여부 하나 이상의 AnimationClock 개체가이 개체의 종속성 속성을 연결할 수 있습니다. (Animatable에서 상속됨)
Public 속성IsFrozen개체를 현재 수정할 수 있는지 여부를 나타내는 값을 가져옵니다. (Freezable에서 상속됨)
Public 속성IsSealed(읽기 전용)이이 인스턴스의 현재 봉인 되어 있는지 여부를 나타내는 값을 가져옵니다. (DependencyObject에서 상속됨)
Public 속성Transform가져오거나는 Transform 개체에 적용 된 Geometry. (Geometry에서 상속됨)
위쪽

  이름설명
Public 메서드ApplyAnimationClock(DependencyProperty, AnimationClock)적용 되는 AnimationClock 지정 된 DependencyProperty. 속성에 이미 애니메이션이 적용 되는 경우는 SnapshotAndReplace 전달 동작을 사용 합니다. (Animatable에서 상속됨)
Public 메서드ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)적용 되는 AnimationClock 지정 된 DependencyProperty. 속성에 이미 애니메이션이 적용 되는 경우 지정 된 HandoffBehavior 사용 됩니다. (Animatable에서 상속됨)
Public 메서드BeginAnimation(DependencyProperty, AnimationTimeline)애니메이션을 지정 된 적용 됩니다 DependencyProperty. 다음 프레임이 렌더링 되 면 애니메이션 시작 됩니다. 지정 된 속성에 이미 애니메이션이 적용 되는 경우는 SnapshotAndReplace 전달 동작을 사용 합니다. (Animatable에서 상속됨)
Public 메서드BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior)애니메이션을 지정 된 적용 됩니다 DependencyProperty. 다음 프레임이 렌더링 되 면 애니메이션 시작 됩니다. 지정 된 속성에 이미 애니메이션이 적용 되는 경우 지정 된 HandoffBehavior 사용 됩니다. (Animatable에서 상속됨)
Public 메서드CheckAccess호출 스레드가이 액세스를 포함할지 여부를 결정 DispatcherObject. (DispatcherObject에서 상속됨)
Public 메서드Clear이 통해 모든 형상 정보가 제거 StreamGeometry.
Public 메서드ClearValue(DependencyProperty)속성의 로컬 값을 지웁니다. 지울 속성으로 지정 된는 DependencyProperty 식별자입니다. (DependencyObject에서 상속됨)
Public 메서드ClearValue(DependencyPropertyKey)읽기 전용 속성의 로컬 값을 지웁니다. 지울 속성으로 지정 된는 DependencyPropertyKey. (DependencyObject에서 상속됨)
Public 메서드Clone이것의 수정 가능한 복제본을 만듭니다 StreamGeometry에서이 개체 값의 전체 복사본을 만들기. 종속성 속성을 복사할 때이 메서드는 리소스 참조와 데이터 바인딩을 복사 하지만 이러한 요소는 더 이상 확인 되지 않으며 애니메이션이 나 그 현재 값입니다.
Public 메서드CloneCurrentValue이것의 수정 가능한 복제본을 만듭니다 StreamGeometry 개체에서이 개체의 현재 값의 전체 복사본을 만들기. 리소스 참조, 데이터 바인딩 및 애니메이션은 복사 되지 않습니다, 하지만 현재 값은입니다.
Public 메서드CoerceValue지정 된 값으로 강제 변환 종속성 속성. 이 하나를 호출 하 여 수행 됩니다 CoerceValueCallback 호출에 적용 되는 종속성 속성의 속성 메타 데이터에 지정 된 함수가 DependencyObject. (DependencyObject에서 상속됨)
Public 메서드Equals제공 된 여부를 확인 합니다 DependencyObject 는 현재에 해당 하는 DependencyObject. (DependencyObject에서 상속됨)
Public 메서드FillContains(Geometry)현재 기 하 도형 완전히 지정 된 있는지 여부를 나타내는 Geometry. (Geometry에서 상속됨)
Public 메서드FillContains(Point)기 지정 된 있는지 여부를 나타내는 Point. (Geometry에서 상속됨)
Public 메서드FillContains(Geometry, Double, ToleranceType)현재 기 하 도형에 지정한 포함 되어 있는지 여부를 나타내는 Geometry를 오류에 지정 된 여백 지정 합니다. (Geometry에서 상속됨)
Public 메서드FillContains(Point, Double, ToleranceType)기 지정 된 있는지 여부를 나타내는 Point를 오류에 지정 된 여백 지정 합니다. (Geometry에서 상속됨)
Public 메서드FillContainsWithDetail(Geometry)현재 기 하 도형과 지정한 기 하 도형의 교차를 설명 하는 값을 반환 합니다. (Geometry에서 상속됨)
Public 메서드FillContainsWithDetail(Geometry, Double, ToleranceType)현재 기 하 도형과 지정한 기 하 도형의 교차를 설명 하는 값은 지정 된 지정한 오차를 반환 합니다. (Geometry에서 상속됨)
Public 메서드Freeze()현재 개체를 수정할 수 없게 하 고 설정에서 IsFrozen 속성을 true. (Freezable에서 상속됨)
Public 메서드GetAnimationBaseValue애니메이션이 적용 되지 않은 값에 지정 된 반환 DependencyProperty. (Animatable에서 상속됨)
Public 메서드GetArea()영역을 채워진된 영역을 가져옵니다 해당 Geometry 개체입니다. (Geometry에서 상속됨)
Public 메서드GetArea(Double, ToleranceType)채워진 영역에 지정 된 허용 오차 안에서 영역에서 가져옵니다의 Geometry 개체입니다. (Geometry에서 상속됨)
Public 메서드GetAsFrozen고정 된 복사본을 만듭니다 있는 Freezable, 기본 (적용 되지 않은) 속성을 사용 하 여. 복사본이 고정 되므로 모든 고정 된 하위 개체 참조 값으로 복사 됩니다. (Freezable에서 상속됨)
Public 메서드GetCurrentValueAsFrozen고정 된 복사본을 만들고 있는 Freezable 현재 속성 값을 사용 하 여. 복사본이 고정 되므로 모든 고정 된 하위 개체 참조 값으로 복사 됩니다. (Freezable에서 상속됨)
Public 메서드GetFlattenedPathGeometry()가져옵니다는 PathGeometry 다각형 근사의 되는 Geometry 개체입니다. (Geometry에서 상속됨)
Public 메서드GetFlattenedPathGeometry(Double, ToleranceType)가져옵니다는 PathGeometry의 다각형 근사값입니다 지정한 허용 오차 내에 Geometry 개체입니다. (Geometry에서 상속됨)
Public 메서드GetHashCode가져옵니다는 해시 코드 이 DependencyObject. (DependencyObject에서 상속됨)
Public 메서드GetLocalValueEnumerator종속성 속성이 로컬 값이에 설정 확인 하는 데는 전문화 된 열거자를 만듭니다 DependencyObject. (DependencyObject에서 상속됨)
Public 메서드GetOutlinedPathGeometry()가져옵니다는 PathGeometry 단순화 된 윤곽선의 채워진 영역의 되는 Geometry. (Geometry에서 상속됨)
Public 메서드GetOutlinedPathGeometry(Double, ToleranceType)가져옵니다는 PathGeometry, 단순화 된 윤곽선의 채움된 영역을입니다 지정한 허용 오차 내에 Geometry. (Geometry에서 상속됨)
Public 메서드GetRenderBounds(Pen)윤곽선이 표시 된 후의 기 하 도형을 포함할 수 있는 크기는 축에 맞춰진 사각형을 반환에 지정 된 Pen. (Geometry에서 상속됨)
Public 메서드GetRenderBounds(Pen, Double, ToleranceType)윤곽선이 표시 된 후의 기 하 도형을 포함할 수 있는 크기는 축에 맞춰진 사각형을 반환 지정 Pen에 지정 된 허용 계수를 지정 합니다. (Geometry에서 상속됨)
Public 메서드GetType현재 인스턴스의 Type을 가져옵니다. (Object에서 상속됨)
Public 메서드GetValue현재 유효 값을 반환 된 종속성 속성 의이 인스턴스에 DependencyObject. (DependencyObject에서 상속됨)
Public 메서드GetWidenedPathGeometry(Pen)가져옵니다는 PathGeometry 즉 스트로크에 의해 정의 된 셰이프를 Geometry 생성 되는 지정 된 Pen. (Geometry에서 상속됨)
Public 메서드GetWidenedPathGeometry(Pen, Double, ToleranceType)가져옵니다는 PathGeometry 즉 스트로크에 의해 정의 된 셰이프를 Geometry 생성 되는 지정 된 Pen, 지정한 허용 계수를 지정 합니다. (Geometry에서 상속됨)
Public 메서드InvalidateProperty지정 된 종속성 속성의 유효 값을 다시 평가 (DependencyObject에서 상속됨)
Public 메서드IsEmpty결정 여부 이러한 StreamGeometry 는 기 하 도형을 설명 합니다. (Geometry.IsEmpty()을(를) 재정의함)
Public 메서드MayHaveCurves결정 여부 이러한 StreamGeometry 곡선된 세그먼트가 포함 되어 있습니다. (Geometry.MayHaveCurves()을(를) 재정의함)
Public 메서드Open여는 StreamGeometryContext 이 설명 하는 수 있습니다 StreamGeometry 개체의 내용을 합니다.
Public 메서드ReadLocalValue로컬 값을 반환 된 종속성 속성, 존재 하는 경우. (DependencyObject에서 상속됨)
Public 메서드SetCurrentValue값을 설정 하는 종속성 속성 값의 소스를 변경 하지 않고 있습니다. (DependencyObject에서 상속됨)
Public 메서드SetValue(DependencyProperty, Object)로컬 값을 설정 하는 종속성 속성, 해당 종속성 속성 식별자로 지정 된. (DependencyObject에서 상속됨)
Public 메서드SetValue(DependencyPropertyKey, Object)읽기 전용의 로컬 값을 설정 종속성 속성에 지정 된 해당 DependencyPropertyKey 종속성 속성의 식별자입니다. (DependencyObject에서 상속됨)
Protected 메서드ShouldSerializePropertySerialization 프로세스는 제공 된 값을 serialize 하는지 여부를 나타내는 값을 반환 합니다. 종속성 속성. (DependencyObject에서 상속됨)
Public 메서드ShouldSerializeTransform나타내는 값을 가져옵니다 여부의 값은 Transform 속성을 직렬화 해야 합니다. (Geometry에서 상속됨)
Public 메서드StrokeContains(Pen, Point)결정 여부는 지정 된 Point 지정 된 적용 하 여 만든 스트로크에 포함 된 Pen 형상입니다. (Geometry에서 상속됨)
Public 메서드StrokeContains(Pen, Point, Double, ToleranceType)결정 여부는 지정 된 Point 지정 된 적용 하 여 만든 스트로크에 포함 되어 Pen 오류에 지정 된 여백 기 하 도형을 지정 합니다. (Geometry에서 상속됨)
Public 메서드StrokeContainsWithDetail(Pen, Geometry)지정 된 사이의 교차를 설명 하는 값을 반환 합니다. Geometry 및 지정 된 적용 하 여 만든 스트로크 Pen 현재 기 하 도형입니다. (Geometry에서 상속됨)
Public 메서드StrokeContainsWithDetail(Pen, Geometry, Double, ToleranceType)지정 된 사이의 교차를 설명 하는 값을 가져옵니다 Geometry 및 지정 된 적용 하 여 만든 스트로크 Pen 오류에 지정 된 여백 현재 기 수를 지정 합니다. (Geometry에서 상속됨)
Public 메서드ToString()현재 문화권을 기준으로 개체의 문자열 표현을 만듭니다. (Geometry에서 상속됨)
Public 메서드ToString(IFormatProvider)지정 된 culture 별 형식 지정 정보를 사용 하 여 개체의 문자열 표현을 만듭니다. (Geometry에서 상속됨)
Public 메서드VerifyAccess호출 스레드가이 권한이 적용 DispatcherObject. (DispatcherObject에서 상속됨)
위쪽

  이름설명
Public 이벤트Changed발생할 때의 Freezable 또는 포함 된 개체를 수정 합니다. (Freezable에서 상속됨)
위쪽

  이름설명
Public 필드정적 멤버FillRuleProperty식별은 FillRule종속성 속성. 
위쪽

  이름설명
명시적 인터페이스 구현Private 메서드IFormattable.ToString지정 된 형식을 사용 하 여 현재 인스턴스의 값 서식을 지정 합니다. (Geometry에서 상속됨)
위쪽

사용 된 StreamGeometry 는 복잡 한 기 하 도형을 설명 해야 하지만 데이터 바인딩, 애니메이션 또는 수정을 지 원하는 오버 헤드를 원하지 않는. 그 효율성 때문에 있는 StreamGeometry 클래스는 표시기 (adorner)를 설명 하는 것이 좋습니다.

A StreamGeometry 이 포함 되어 있는 경우 serialize 할 수 없습니다를 Transform 또는 그린 비 또는 채워지지 않은 세그먼트입니다.

Freezable 기능이

A StreamGeometry is a Freezable type. 대 한 자세한 내용은 Freezable 중지 및 복제 기능을 참조 하십시오의 Freezable 개체 개요.

StreamGeometry 는 도형을 만들기 위해 PathGeometry 대신 사용할 수 있는 간단한 클래스입니다. 복잡한 기하 도형을 설명해야 하지만 데이터 바인딩, 애니메이션 및 수정에 대한 지원에 따른 오버헤드를 원하지 않는 경우 StreamGeometry를 사용합니다. 예를 들어 StreamGeometry 클래스는 효율성으로 인해 표시기(adorner)를 설명하기에 적합합니다.

다음 예제에서는 특성 구문을 사용하여 XAML에서 삼각형 StreamGeometry를 만듭니다.


<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  <StackPanel>

    <Path Data="F0 M10,100 L100,100 100,50Z" 
      StrokeThickness="1" Stroke="Black"/>

  </StackPanel>
</Page>


StreamGeometry 특성 구문에 대한 자세한 내용은 경로 태그 구문 페이지를 참조하십시오.

다음 예제에서는 StreamGeometry를 사용하여 코드로 삼각형을 정의합니다. 먼저 이 예제에서는 StreamGeometry를 만든 다음 StreamGeometryContext를 가져와 이를 통해 삼각형을 설명합니다.


using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
using System.Windows.Shapes;

namespace SDKSample
{
    // Use StreamGeometry with StreamGeometryContext to define a triangle shape.
    public partial class StreamGeometryTriangleExample : Page
    {
        public StreamGeometryTriangleExample()
        {
            // 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();
            geometry.FillRule = FillRule.EvenOdd;

            // 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. Notice that the shape is set to 
                // be closed so only two lines need to be specified below to make the triangle.
                ctx.BeginFigure(new Point(10, 100), true /* is filled */, true /* is closed */);

                // Draw a line to the next specified point.
                ctx.LineTo(new Point(100, 100), true /* is stroked */, false /* is smooth join */);

                // Draw another line to the next specified point.
                ctx.LineTo(new Point(100, 50), 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;
        }
    }
}


다음 예제에서는 StreamGeometryStreamGeometryContext를 사용하는 메서드를 만들어 지정된 매개 변수를 기반으로 도형을 정의합니다.


using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
using System.Windows.Shapes;

namespace SDKSample
{
    public partial class StreamGeometryExample : Page
    {
        public StreamGeometryExample()
        {
            // 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 theGeometry = BuildRegularPolygon(new Point(200, 200), 200, 8, 0);
            theGeometry.FillRule = FillRule.EvenOdd;

            // Freeze the geometry (make it unmodifiable)
            // for additional performance benefits.
            theGeometry.Freeze();

            // Use the StreamGeometry returned by the BuildRegularPolygon to 
            // specify the shape of the path.
            myPath.Data = theGeometry;

            // Add path shape to the UI.
            StackPanel mainPanel = new StackPanel();
            mainPanel.Children.Add(myPath);
            this.Content = mainPanel;
        }

        StreamGeometry BuildRegularPolygon(Point c, double r, int numSides, double offsetDegree)
        {
            // c is the center, r is the radius,
            // numSides the number of sides, offsetDegree the offset in Degrees.
            // Do not add the last point.

            StreamGeometry geometry = new StreamGeometry();

            using (StreamGeometryContext ctx = geometry.Open())
            {
                ctx.BeginFigure(new Point(), true /* is filled */, true /* is closed */);

                double step = 2 * Math.PI / Math.Max(numSides, 3);
                Point cur = c;

                double a = Math.PI * offsetDegree / 180.0;
                for (int i = 0; i < numSides; i++, a += step)
                {
                    cur.X = c.X + r * Math.Cos(a);
                    cur.Y = c.Y + r * Math.Sin(a);
                    ctx.LineTo(cur, true /* is stroked */, false /* is smooth join */);
                }
            }

            return geometry;
        }
    }
}


.NET Framework

4.5, 4, 3.5, 3.0에서 지원

.NET Framework Client Profile

4, 3.5 SP1에서 지원

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008(서버 코어 역할은 지원되지 않음), Windows Server 2008 R2(서버 코어 역할은 SP1 이상에서 지원, Itanium은 지원되지 않음)

.NET Framework 에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 다음을 참조하십시오. .NET Framework 시스템 요구 사항.

이 형식의 static(Visual Basic의 경우 Shared) 모든 공용 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.

커뮤니티 추가 항목

추가
표시:
© 2015 Microsoft