Ler em inglês

Compartilhar via


UIElement.RenderTransformOrigin Propriedade

Definição

Obtém ou define o ponto central de qualquer transformação de renderização possível declarada por RenderTransform, em relação aos limites do elemento. É uma propriedade de dependência.

C#
public System.Windows.Point RenderTransformOrigin { get; set; }

Valor da propriedade

O valor que declara a transformação de renderização. O valor padrão é um Point com coordenadas (0,0).

Exemplos

O exemplo a seguir compila elementos no código, aplica um RenderTransformOrigine aplica um RenderTransform.

C#
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;
}

Comentários

RenderTransformOrigin tem um uso um pouco não padrão do valor da Point estrutura, em que o Point não representa um local absoluto em um sistema de coordenadas. Em vez disso, os valores entre 0 e 1 são interpretados como um fator para o intervalo do elemento atual em cada eixo x,y. Por exemplo, (0.5,0.5) fará com que a transformação de renderização seja centralizada no elemento ou (1,1) colocaria a transformação de renderização no canto inferior direito do elemento. NaN não é um valor aceito.

Valores além de 0 e 1 também são aceitos e resultarão em efeitos de transformação mais não convencionais. Por exemplo, se você definir RenderTransformOrigin como (5,5) e aplicar um RotateTransform, o ponto de rotação estará bem fora dos limites do próprio elemento. A transformação girará seu elemento em um círculo grande que se origina além do canto inferior direito. A origem pode estar em algum lugar dentro de seu elemento pai e possivelmente estar fora do quadro ou da exibição. Os valores de ponto negativo são semelhantes, eles vão além dos limites superiores esquerdos.

As transformações de renderização não afetam o layout e normalmente são usadas para animar ou aplicar um efeito temporário a um elemento.

Uso do Atributo XAML

<object RenderTransformOrigin="xOrigin, yOrigin"/>  

Uso do elemento propriedade XAML

<object>  
  <object.RenderTransformOrigin>  
    <Point X=" xOrigin " Y=" yOrigin "/>  
  </object.RenderTransformOrigin>  
</object>  

Valores XAML

xOrigin
O fator de origem horizontal. Normalmente, isso é fornecido como um valor entre 0 e 1. Consulte Observações.

yOrigin
O fator de origem vertical. Normalmente, isso é fornecido como um valor entre 0 e 1. Consulte Observações.

Informações da propriedade de dependência

Campo Identificador RenderTransformOriginProperty
Propriedades de metadados definidas como true Nenhum

Aplica-se a

Produto Versões
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

Confira também