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

UIElement.RenderTransformOrigin 속성

요소의 영역을 기준으로 RenderTransform에서 선언하는 가능한 렌더링 변환의 중심점을 가져오거나 설정합니다. 이 속성은 종속성 속성입니다.

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

public Point RenderTransformOrigin { get; set; }
<object>
  <object.RenderTransformOrigin>
    <Point X="xOrigin" Y="yOrigin"/>
  </object.RenderTransformOrigin>
</object>
<object RenderTransformOrigin="xOrigin, yOrigin"/>

XAML 값

xOrigin

가로 원점 인수로 대개 0에서 1 사이의 값으로 지정됩니다. 설명 부분을 참조하십시오.

yOrigin

세로 원점 인수로 대개 0에서 1 사이의 값으로 지정됩니다. 설명 부분을 참조하십시오.

속성 값

형식: System.Windows.Point
렌더링 변환을 선언하는 값입니다. 기본값은 좌표가 (0,0)인 Point입니다.

식별자 필드

RenderTransformOriginProperty

true 로 설정된 메타데이터 속성

없음

RenderTransformOrigin Point 구조체 값을 표준이 아닌 방식으로 사용하기도 하는데, 이 경우에는 Point가 좌표계의 절대 위치를 나타내지 않습니다. 대신 0에서 1 사이의 값은 각 x,y 축에서 현재 요소의 범위에 대한 인수로 해석됩니다. 예를 들어 값이 (0.5,0.5)이면 렌더링 변환이 요소 가운데에 맞춰지고, (1,1)이면 렌더링 변환이 요소의 오른쪽 아래 모퉁이에 맞춰집니다. NaN 이 허용되는 값이 아닌 경우.

0보다 작거나 1보다 큰 값도 사용할 수 있으며 이러한 값을 사용하면 보다 독특한 변환 효과가 발생합니다. 예를 들어 RenderTransformOrigin을 (5,5)로 설정하고 RotateTransform을 적용하면 회전 지점이 요소 자체의 범위 바깥에 있게 됩니다. 그리고 변환은 오른쪽 아래의 외부 영역에서 생성되는 큰 원을 중심으로 요소를 회전합니다. 이 원점은 해당 부모 요소 내부에 있을 수도 있고 프레임이나 뷰 외부에 있을 수도 있습니다. 음수 점 값을 사용하는 경우에도 마찬가지로 왼쪽 위 범위를 벗어나게 됩니다.

렌더링 변환은 레이아웃에는 영향을 주지 않으며 보통 요소에 임시 효과를 적용하거나 이러한 효과를 애니메이션으로 적용하는 데 사용됩니다.

다음 예제에서는 코드에서 요소를 작성하고 RenderTransformOrigin을 적용한 다음 RenderTransform을 적용합니다.


public RotateAboutCenterExample()
{
    this.WindowTitle = "Rotate About Center Example";
    NameScope.SetNameScope(this, new NameScope());
    StackPanel myStackPanel = new StackPanel();
    myStackPanel.Margin = new Thickness(50);

    Button myButton = new Button();
    myButton.Name = "myRenderTransformButton";
    this.RegisterName(myButton.Name,myButton);
    myButton.RenderTransformOrigin = new Point(0.5,0.5);
    myButton.HorizontalAlignment = HorizontalAlignment.Left;
    myButton.Content = "Hello World";


    RotateTransform myRotateTransform = new RotateTransform(0);
    myButton.RenderTransform = myRotateTransform;
    this.RegisterName("MyAnimatedTransform",myRotateTransform);

    myStackPanel.Children.Add(myButton);

    //
    // Creates an animation that accelerates through 40% of its duration and
    //      decelerates through the 60% of its duration.
    //
    DoubleAnimation myRotateAboutCenterAnimation = new DoubleAnimation();
    Storyboard.SetTargetName(myRotateAboutCenterAnimation,"MyAnimatedTransform");
    Storyboard.SetTargetProperty(myRotateAboutCenterAnimation,new PropertyPath(RotateTransform.AngleProperty));
    myRotateAboutCenterAnimation.From = 0.0;
    myRotateAboutCenterAnimation.To = 360;
    myRotateAboutCenterAnimation.Duration = new Duration(TimeSpan.FromMilliseconds(1000));

    // Create a Storyboard to contain the animations and
    // add the animations to the Storyboard.
    Storyboard myStoryboard = new Storyboard();
    myStoryboard.Children.Add(myRotateAboutCenterAnimation);

    // Create an EventTrigger and a BeginStoryboard action to
    // start the storyboard.
    EventTrigger myEventTrigger = new EventTrigger();
    myEventTrigger.RoutedEvent = Button.ClickEvent;
    myEventTrigger.SourceName = myButton.Name;
    BeginStoryboard myBeginStoryboard = new BeginStoryboard();
    myBeginStoryboard.Storyboard = myStoryboard;
    myEventTrigger.Actions.Add(myBeginStoryboard);
    myStackPanel.Triggers.Add(myEventTrigger);

    this.Content = myStackPanel;
}


.NET Framework

4, 3.5, 3.0에서 지원

.NET Framework Client Profile

4, 3.5 SP1에서 지원

Windows 7, Windows Vista SP1 이상, Windows XP SP3, Windows Server 2008(Server Core는 지원되지 않음), Windows Server 2008 R2(Server Core는 SP1 이상에서 지원됨), Windows Server 2003 SP2

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

커뮤니티 추가 항목

추가
표시:
© 2014 Microsoft