UIElement.RenderTransformOrigin Propriété

Définition

Obtient ou définit le point central des transformations de rendu possibles déclarées par RenderTransform par rapport aux limites de l’élément.Gets or sets the center point of any possible render transform declared by RenderTransform, relative to the bounds of the element. Il s’agit d’une propriété de dépendance.This is a dependency property.

public:
 property System::Windows::Point RenderTransformOrigin { System::Windows::Point get(); void set(System::Windows::Point value); };
public System.Windows.Point RenderTransformOrigin { get; set; }
member this.RenderTransformOrigin : System.Windows.Point with get, set
Public Property RenderTransformOrigin As Point

Valeur de propriété

Point

Valeur qui déclare la transformation de rendu.The value that declares the render transform. La valeur par défaut est Point avec les coordonnées (0,0).The default value is a Point with coordinates (0,0).

Exemples

L’exemple suivant génère des éléments dans le code, applique un RenderTransformOrigin , puis applique un RenderTransform .The following example builds up elements in code, applies a RenderTransformOrigin, and then applies a 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;
}
Public Sub New()
    Me.WindowTitle = "Rotate About Center Example"
    NameScope.SetNameScope(Me, New NameScope())
    Dim myStackPanel As New StackPanel()
    myStackPanel.Margin = New Thickness(50)

    Dim myButton As New Button()
    myButton.Name = "myRenderTransformButton"
    Me.RegisterName(myButton.Name,myButton)
    myButton.RenderTransformOrigin = New Point(0.5,0.5)
    myButton.HorizontalAlignment = HorizontalAlignment.Left
    myButton.Content = "Hello World"


    Dim myRotateTransform As New RotateTransform(0)
    myButton.RenderTransform = myRotateTransform
    Me.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.
    '
    Dim myRotateAboutCenterAnimation As 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.
    Dim myStoryboard As New Storyboard()
    myStoryboard.Children.Add(myRotateAboutCenterAnimation)

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

    Me.Content = myStackPanel
End Sub

Remarques

RenderTransformOrigin a une utilisation peu standard de la valeur de la Point structure, car Point ne représente pas un emplacement absolu dans un système de coordonnées.RenderTransformOrigin has a somewhat nonstandard use of the Point structure value, in that the Point does not represent an absolute location in a coordinate system. Au lieu de cela, les valeurs comprises entre 0 et 1 sont interprétées comme un facteur pour la plage de l’élément actuel dans chaque axe x, y.Instead, values between 0 and 1 are interpreted as a factor for the range of the current element in each x,y axis. Par exemple, (0.5, 0.5) entraîne le centrage de la transformation Render sur l’élément, ou (1, 1) place la transformation Render dans le coin inférieur droit de l’élément.For example, (0.5,0.5) will cause the render transform to be centered on the element, or (1,1) would place the render transform at the bottom right corner of the element. NaN n’est pas une valeur acceptée.NaN is not an accepted value.

Les valeurs supérieures à 0 et 1 sont également acceptées, ce qui entraîne des effets de transformation plus inhabituels.Values beyond 0 and 1 are also accepted, and will result in more unconventional transform effects. Par exemple, si vous affectez à la valeur RenderTransformOrigin (5, 5), puis que vous appliquez un RotateTransform , le point de rotation sera bien à l’extérieur des limites de l’élément lui-même.For instance, if you set RenderTransformOrigin to be (5,5), and then apply a RotateTransform, the rotation point will be well outside the bounds of the element itself. La transformation fera pivoter votre élément autour d’un grand cercle qui est en dehors de la partie inférieure droite.The transform will spin your element around in a big circle that originates beyond bottom right. L’origine peut se trouver quelque part dans son élément parent et peut être peut-être en dehors de l’image ou de la vue.The origin might be somewhere inside its parent element and could possibly be possibly out of frame or view. Les valeurs de points négatifs sont similaires. elles vont au-delà des limites supérieures gauches.Negative point values are similar, these will go beyond the top left bounds.

Les transformations de rendu n’affectent pas la disposition et sont généralement utilisées pour animer ou appliquer un effet temporaire à un élément.Render transforms do not affect layout, and are typically used to animate or apply a temporary effect to an element.

Utilisation d'attributs XAMLXAML Attribute Usage

<object RenderTransformOrigin="xOrigin, yOrigin"/>  

Utilisation des éléments de propriété XAMLXAML Property Element Usage

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

Valeurs XAMLXAML Values

xOriginxOrigin
Facteur d’origine horizontal.The horizontal origin factor. Il s’agit généralement d’une valeur comprise entre 0 et 1.This is typically given as a value between 0 and 1. Consultez la section Notes.See Remarks.

yOriginyOrigin
Facteur d’origine verticale.The vertical origin factor. Il s’agit généralement d’une valeur comprise entre 0 et 1.This is typically given as a value between 0 and 1. Consultez la section Notes.See Remarks.

Informations sur les propriétés de dépendanceDependency Property Information

Champ d’identificateurIdentifier field RenderTransformOriginProperty
Propriétés de métadonnées définies sur trueMetadata properties set to true AucunNone

S’applique à

Voir aussi