Información
El tema que ha solicitado se muestra abajo. Sin embargo, este tema no se encuentra en la biblioteca.

UIElement.RenderTransformOrigin (Propiedad)

Obtiene o establece el punto central de cualquier posible transformación de representación declarada por RenderTransform, relativo a los límites del elemento. Se trata de una propiedad de dependencia.

Espacio de nombres:  System.Windows
Ensamblado:  PresentationCore (en PresentationCore.dll)
XMLNS para XAML: 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"/>

Valores XAML

xOrigin

Factor de origen horizontal. Esto se proporciona normalmente como un valor entre 0 y 1. Vea la sección Comentarios.

yOrigin

Factor de origen vertical. Esto se proporciona normalmente como un valor entre 0 y 1. Vea la sección Comentarios.

Valor de propiedad

Tipo: System.Windows.Point
Valor que declara la transformación de representación. El valor predeterminado es un objeto Point con las coordenadas (0,0).

Campo de identificador

RenderTransformOriginProperty

Propiedades de metadatos establecidas en true.

None

RenderTransformOrigin tiene un uso del valor de la estructura de Point que no es estándar en cierto modo, ya que Point no representa una ubicación absoluta en un sistema de coordenadas. En su lugar, los valores entre 0 y 1 se interpretan como un factor para el intervalo del elemento actual en cada eje x,y. Por ejemplo, (0,5.0,5) hace que la transformación de representación se centre en el elemento o (1,1) coloca la transformación de representación en la esquina inferior derecha del elemento. NaN no tiene un valor aceptado.

También se aceptan valores superiores a 0 y 1, que producen efectos de transformación más originales. Por ejemplo, si establece RenderTransformOrigin como (5,5) y, a continuación, aplica RotateTransform, el punto del giro estará completamente fuera de los límites del propio elemento. La transformación girará el elemento alrededor en un círculo grande con el origen fuera de la parte inferior derecha. El origen podría estar en alguna parte dentro del elemento primario y posiblemente podría estar fuera del marco o de la vista. Los valores de punto negativos son similares; exceden los límites izquierdos superiores.

Las transformaciones de representación no afectan al diseño y se usan normalmente para animar un elemento o aplicarle un efecto temporal.

El ejemplo siguiente crea elementos en el código, aplica una propiedad RenderTransformOrigin y, a continuación, aplica una propiedad 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

Compatible con: 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Adiciones de comunidad

Mostrar:
© 2014 Microsoft