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

GuidelineSet 클래스

그림을 장치 픽셀 모눈에 렌더링을 조정 하는 데 도움이 되는 안내선의 컬렉션을 나타냅니다.

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

public sealed class GuidelineSet : Animatable
<GuidelineSet .../>

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

  이름설명
Public 메서드GuidelineSet()새 인스턴스 초기화를 GuidelineSet 클래스입니다.
Public 메서드GuidelineSet(Double[], Double[])새 인스턴스를 초기화를 GuidelineSet 클래스에는 지정 된 GuidelinesXGuidelinesY 값입니다.
위쪽

  이름설명
Public 속성CanFreeze해당 개체를 수정할 수 없게 설정할 수 있는지 여부를 나타내는 값을 가져옵니다. (Freezable에서 상속됨)
Public 속성DependencyObjectType가져옵니다는 DependencyObjectType 는 래핑하는 CLR 이 인스턴스의 형식입니다.  (DependencyObject에서 상속됨)
Public 속성Dispatcher가져옵니다는 DispatcherDispatcherObject 와 관련 된. (DispatcherObject에서 상속됨)
Public 속성GuidelinesX일련의 x 축에 안내선을 나타내는 좌표 값을 가져오거나 설정 합니다.
Public 속성GuidelinesY일련의 y 축에 안내선을 나타내는 좌표 값을 가져오거나 설정 합니다.
Public 속성HasAnimatedProperties나타내는 값을 가져옵니다 여부 하나 이상의 AnimationClock 개체가이 개체의 종속성 속성을 연결할 수 있습니다. (Animatable에서 상속됨)
Public 속성IsFrozen개체를 현재 수정할 수 있는지 여부를 나타내는 값을 가져옵니다. (Freezable에서 상속됨)
Public 속성IsSealed(읽기 전용)이이 인스턴스의 현재 봉인 되어 있는지 여부를 나타내는 값을 가져옵니다. (DependencyObject에서 상속됨)
위쪽

  이름설명
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 메서드ClearValue(DependencyProperty)속성의 로컬 값을 지웁니다. 지울 속성으로 지정 된는 DependencyProperty 식별자입니다. (DependencyObject에서 상속됨)
Public 메서드ClearValue(DependencyPropertyKey)읽기 전용 속성의 로컬 값을 지웁니다. 지울 속성으로 지정 된는 DependencyPropertyKey. (DependencyObject에서 상속됨)
Public 메서드Clone이것의 수정 가능한 복제본을 만듭니다 GuidelineSet에서이 개체 값의 전체 복사본을 만들기. 종속성 속성을 복사할 때이 메서드는 리소스 참조와 데이터 바인딩을 복사 하지만 이러한 요소는 더 이상 확인 되지 않으며 애니메이션이 나 그 현재 값입니다.
Public 메서드CloneCurrentValue이것의 수정 가능한 복제본을 만듭니다 GuidelineSet 개체에서이 개체의 현재 값의 전체 복사본을 만들기. 리소스 참조, 데이터 바인딩 및 애니메이션은 복사 되지 않습니다, 하지만 현재 값은입니다.
Public 메서드CoerceValue지정 된 값으로 강제 변환 종속성 속성. 이 하나를 호출 하 여 수행 됩니다 CoerceValueCallback 호출에 적용 되는 종속성 속성의 속성 메타 데이터에 지정 된 함수가 DependencyObject. (DependencyObject에서 상속됨)
Public 메서드Equals제공 된 여부를 확인 합니다 DependencyObject 는 현재에 해당 하는 DependencyObject. (DependencyObject에서 상속됨)
Public 메서드Freeze()현재 개체를 수정할 수 없게 하 고 설정에서 IsFrozen 속성을 true. (Freezable에서 상속됨)
Public 메서드GetAnimationBaseValue애니메이션이 적용 되지 않은 값에 지정 된 반환 DependencyProperty. (Animatable에서 상속됨)
Public 메서드GetAsFrozen고정 된 복사본을 만듭니다 있는 Freezable, 기본 (적용 되지 않은) 속성을 사용 하 여. 복사본이 고정 되므로 모든 고정 된 하위 개체 참조 값으로 복사 됩니다. (Freezable에서 상속됨)
Public 메서드GetCurrentValueAsFrozen고정 된 복사본을 만들고 있는 Freezable 현재 속성 값을 사용 하 여. 복사본이 고정 되므로 모든 고정 된 하위 개체 참조 값으로 복사 됩니다. (Freezable에서 상속됨)
Public 메서드GetHashCode가져옵니다는 해시 코드 이 DependencyObject. (DependencyObject에서 상속됨)
Public 메서드GetLocalValueEnumerator종속성 속성이 로컬 값이에 설정 확인 하는 데는 전문화 된 열거자를 만듭니다 DependencyObject. (DependencyObject에서 상속됨)
Public 메서드GetType현재 인스턴스의 Type을 가져옵니다. (Object에서 상속됨)
Public 메서드GetValue현재 유효 값을 반환 된 종속성 속성 의이 인스턴스에 DependencyObject. (DependencyObject에서 상속됨)
Public 메서드InvalidateProperty지정 된 종속성 속성의 유효 값을 다시 평가 (DependencyObject에서 상속됨)
Public 메서드ReadLocalValue로컬 값을 반환 된 종속성 속성, 존재 하는 경우. (DependencyObject에서 상속됨)
Public 메서드SetCurrentValue값을 설정 하는 종속성 속성 값의 소스를 변경 하지 않고 있습니다. (DependencyObject에서 상속됨)
Public 메서드SetValue(DependencyProperty, Object)로컬 값을 설정 하는 종속성 속성, 해당 종속성 속성 식별자로 지정 된. (DependencyObject에서 상속됨)
Public 메서드SetValue(DependencyPropertyKey, Object)읽기 전용의 로컬 값을 설정 종속성 속성에 지정 된 해당 DependencyPropertyKey 종속성 속성의 식별자입니다. (DependencyObject에서 상속됨)
Protected 메서드ShouldSerializePropertySerialization 프로세스는 제공 된 값을 serialize 하는지 여부를 나타내는 값을 반환 합니다. 종속성 속성. (DependencyObject에서 상속됨)
Public 메서드ToString현재 개체를 나타내는 문자열을 반환합니다. (Object에서 상속됨)
Public 메서드VerifyAccess호출 스레드가이 권한이 적용 DispatcherObject. (DispatcherObject에서 상속됨)
위쪽

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

  이름설명
Public 필드정적 멤버GuidelinesXProperty식별은 GuidelinesX종속성 속성. 
Public 필드정적 멤버GuidelinesYProperty식별은 GuidelinesY종속성 속성. 
위쪽

이 예제에서는 DrawingGroupGuidelineSet을 적용하는 방법을 보여 줍니다.

DrawingGroup 클래스는 GuidelineSet 속성이 있는 유일한 형식의 Drawing입니다. 다른 형식의 DrawingGuidelineSet을 적용하려면 DrawingGroup에 추가한 다음 해당 DrawingGroupGuidelineSet을 적용합니다.

다음 예제에서는 거의 동일한 두 개의 DrawingGroup 개체를 만듭니다. 두 번째 DrawingGroup에는 GuidelineSet이 있고 첫 번째 개체에는 이 속성이 없다는 점만 다릅니다.

다음 그림에서는 이 예제를 실행한 결과를 보여 줍니다. DrawingGroup 개체의 렌더링된 모양에 별다른 차이가 없어 보이므로 그리기의 일부를 확대해서 보여 줍니다.

GuidelineSet이 있는 DrawingGroup과 없는 DrawingGroup

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

namespace SDKSample
{
    /// <summary>
    /// This example shows how to apply a GuidelineSet to 
    /// a drawing.
    /// </summary>
	public class DrawingGroupGuidelineSetExample : Page
	{
        public DrawingGroupGuidelineSetExample()
        {

            //
            // Create a DrawingGroup
            // that has no guideline set
            //          
            GeometryDrawing drawing1 = new GeometryDrawing(
                    Brushes.Black, 
                    null,
                    new RectangleGeometry(new Rect(0,20,30,80))
                );

            GeometryGroup whiteRectangles = new GeometryGroup();
            whiteRectangles.Children.Add(new RectangleGeometry(new Rect(5.5, 25, 20, 20)));
            whiteRectangles.Children.Add(new RectangleGeometry(new Rect(5.5, 50, 20, 20)));
            whiteRectangles.Children.Add(new RectangleGeometry(new Rect(5.5, 75, 20, 20)));

            GeometryDrawing drawing2 = new GeometryDrawing(
                    Brushes.White,
                    null,
                    whiteRectangles
                );

            // Create a DrawingGroup
            DrawingGroup drawingGroupWithoutGuidelines = new DrawingGroup();
            drawingGroupWithoutGuidelines.Children.Add(drawing1);
            drawingGroupWithoutGuidelines.Children.Add(drawing2);

            // Use an Image control and a DrawingImage to
            // display the drawing.
            DrawingImage drawingImage01 = new DrawingImage(drawingGroupWithoutGuidelines);

            // Freeze the DrawingImage for performance benefits.
            drawingImage01.Freeze();

            Image image01 = new Image();
            image01.Source = drawingImage01;
            image01.Stretch = Stretch.None;
            image01.HorizontalAlignment = HorizontalAlignment.Left;
            image01.Margin = new Thickness(10);

            //
            // Create another DrawingGroup and apply 
            // a blur effect to it.
            //

            // Create a clone of the first DrawingGroup.
            DrawingGroup drawingGroupWithGuidelines =
                drawingGroupWithoutGuidelines.Clone();

            // Create a guideline set.
            GuidelineSet guidelines = new GuidelineSet();
            guidelines.GuidelinesX.Add(5.5);
            guidelines.GuidelinesX.Add(25.5);
            guidelines.GuidelinesY.Add(25);
            guidelines.GuidelinesY.Add(50);
            guidelines.GuidelinesY.Add(75);

            // Apply it to the drawing group.
            drawingGroupWithGuidelines.GuidelineSet = guidelines; 

            // Use another Image control and DrawingImage
            // to display the drawing.
            DrawingImage drawingImage02 = new DrawingImage(drawingGroupWithGuidelines);

            // Freeze the DrawingImage for performance benefits.
            drawingImage02.Freeze();

            Image image02 = new Image();
            image02.Source = drawingImage02;
            image02.Stretch = Stretch.None;
            image02.HorizontalAlignment = HorizontalAlignment.Left;
            image02.Margin = new Thickness(50, 10, 10, 10);

            StackPanel mainPanel = new StackPanel();
            mainPanel.Orientation = Orientation.Horizontal;
            mainPanel.HorizontalAlignment = HorizontalAlignment.Left;
            mainPanel.Margin = new Thickness(20);
            mainPanel.Children.Add(image01);
            mainPanel.Children.Add(image02);

            //
            // Use a DrawingBrush to create a grid background.
            //
            GeometryDrawing backgroundRectangleDrawing =
                new GeometryDrawing(
                    Brushes.White,
                    null,
                    new RectangleGeometry(new Rect(0,0,1,1))
                );
            PolyLineSegment backgroundLine1 = new PolyLineSegment();
            backgroundLine1.Points.Add(new Point(1, 0));
            backgroundLine1.Points.Add(new Point(1, 0.1));
            backgroundLine1.Points.Add(new Point(0, 0.1));
            PathFigure line1Figure = new PathFigure();
            line1Figure.Segments.Add(backgroundLine1);
            PathGeometry backgroundLine1Geometry = new PathGeometry();
            backgroundLine1Geometry.Figures.Add(line1Figure);
            GeometryDrawing backgroundLineDrawing1 = new GeometryDrawing(
                    new SolidColorBrush(Color.FromArgb(255,204,204,255)),
                    null,
                    backgroundLine1Geometry
                );
            PolyLineSegment backgroundLine2 = new PolyLineSegment();
            backgroundLine2.Points.Add(new Point(0, 1));
            backgroundLine2.Points.Add(new Point(0.1, 1));
            backgroundLine2.Points.Add(new Point(0.1, 0));
            PathFigure line2Figure = new PathFigure();
            line2Figure.Segments.Add(backgroundLine2);
            PathGeometry backgroundLine2Geometry = new PathGeometry();
            backgroundLine2Geometry.Figures.Add(line2Figure);
            GeometryDrawing backgroundLineDrawing2 = new GeometryDrawing(
                    new SolidColorBrush(Color.FromArgb(255, 204, 204, 255)),
                    null,
                    backgroundLine2Geometry
                );

            DrawingGroup backgroundGroup = new DrawingGroup();
            backgroundGroup.Children.Add(backgroundRectangleDrawing);
            backgroundGroup.Children.Add(backgroundLineDrawing1);
            backgroundGroup.Children.Add(backgroundLineDrawing2);

            DrawingBrush gridPatternBrush = new DrawingBrush(backgroundGroup);
            gridPatternBrush.Viewport = new Rect(0, 0, 10, 10);
            gridPatternBrush.ViewportUnits = BrushMappingMode.Absolute;
            gridPatternBrush.TileMode = TileMode.Tile;
            gridPatternBrush.Freeze();

            Border mainBorder = new Border();
            mainBorder.Background = gridPatternBrush;
            mainBorder.BorderThickness = new Thickness(1);
            mainBorder.BorderBrush = Brushes.Gray;
            mainBorder.HorizontalAlignment = HorizontalAlignment.Left;
            mainBorder.VerticalAlignment = VerticalAlignment.Top;
            mainBorder.Margin = new Thickness(20);
            mainBorder.Child = mainPanel;

            //
            // Add the items to the page.
            //
            this.Content = mainBorder;
            this.Background = Brushes.White;

        }


	}
}



<Page 
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:PresentationOptions="http://schemas.microsoft.com/winfx/2006/xaml/presentation/options" 
  xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  mc:Ignorable="PresentationOptions">
  <Border BorderThickness="1" BorderBrush="Gray" 
    HorizontalAlignment="Left" VerticalAlignment="Top"
    Margin="20">
    <StackPanel Margin="20" Orientation="Horizontal">


        <Image Stretch="None" Margin="10">
          <Image.Source>
            <DrawingImage PresentationOptions:Freeze="True">
              <DrawingImage.Drawing>

                <!-- This DrawingGroup has no GuidelineSet. -->
                <DrawingGroup>
                  <GeometryDrawing Brush="Black">
                    <GeometryDrawing.Geometry>
                      <RectangleGeometry Rect="0,20,30,80" />
                    </GeometryDrawing.Geometry>
                  </GeometryDrawing>
                  <GeometryDrawing Brush="White">
                    <GeometryDrawing.Geometry>
                      <GeometryGroup>
                        <RectangleGeometry Rect="5.5,25, 20,20" />
                        <RectangleGeometry Rect="5.5,50, 20,20" />
                        <RectangleGeometry Rect="5.5,75, 20,20" />
                      </GeometryGroup>
                    </GeometryDrawing.Geometry>
                  </GeometryDrawing>
                </DrawingGroup>
              </DrawingImage.Drawing>
            </DrawingImage>
          </Image.Source>
        </Image>

        <Image Stretch="None" Margin="50,10,10,10">
          <Image.Source>
            <DrawingImage PresentationOptions:Freeze="True">
              <DrawingImage.Drawing>

                <!-- This DrawingGroup has a GuidelineSet. -->
                <DrawingGroup>
                  <GeometryDrawing Brush="Black">
                    <GeometryDrawing.Geometry>
                      <RectangleGeometry Rect="0,20,30,80" />
                    </GeometryDrawing.Geometry>
                  </GeometryDrawing>
                  <GeometryDrawing Brush="White">
                    <GeometryDrawing.Geometry>
                      <GeometryGroup>
                        <RectangleGeometry Rect="5.5,25, 20,20" />
                        <RectangleGeometry Rect="5.5,50, 20,20" />
                        <RectangleGeometry Rect="5.5,75, 20,20" />
                      </GeometryGroup>
                    </GeometryDrawing.Geometry>
                  </GeometryDrawing>
                  <DrawingGroup.GuidelineSet>

                    <!-- The GuidelineSet -->
                    <GuidelineSet
                      GuidelinesX="5.5,25.5" GuidelinesY="25,50,75" />
                  </DrawingGroup.GuidelineSet>
                </DrawingGroup>
              </DrawingImage.Drawing>
            </DrawingImage>
          </Image.Source>
        </Image>
    </StackPanel>

    <Border.Background>
      <DrawingBrush  Viewport="0,0,10,10" ViewportUnits="Absolute" TileMode="Tile"
        PresentationOptions:Freeze="True">
        <DrawingBrush.Drawing>
          <DrawingGroup>
            <GeometryDrawing Brush="White">
              <GeometryDrawing.Geometry>
                <RectangleGeometry Rect="0,0,1,1" />
              </GeometryDrawing.Geometry>
            </GeometryDrawing>
            <GeometryDrawing Geometry="M0,0 L1,0 1,0.1, 0,0.1Z " Brush="#CCCCFF" />
            <GeometryDrawing Geometry="M0,0 L0,1 0.1,1, 0.1,0Z" Brush="#CCCCFF" />
          </DrawingGroup>
        </DrawingBrush.Drawing>
      </DrawingBrush>    
    </Border.Background>
  </Border>
</Page>


.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) 모든 공용 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.

커뮤니티 추가 항목

추가
Microsoft는 MSDN 웹 사이트에 대한 귀하의 의견을 이해하기 위해 온라인 설문 조사를 진행하고 있습니다. 참여하도록 선택하시면 MSDN 웹 사이트에서 나가실 때 온라인 설문 조사가 표시됩니다.

참여하시겠습니까?
표시:
© 2014 Microsoft