UIElement.RenderTransformOrigin UIElement.RenderTransformOrigin UIElement.RenderTransformOrigin UIElement.RenderTransformOrigin Property

Definizione

Ottiene o imposta il punto centrale di qualsiasi trasformazione di rendering possibile dichiarata da RenderTransform, rispetto ai limiti dell'elemento.Gets or sets the center point of any possible render transform declared by RenderTransform, relative to the bounds of the element. Si tratta di una proprietà di dipendenza.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

Valore della proprietà

Valore che dichiara la trasformazione di rendering.The value that declares the render transform. Il valore predefinito è un Point con le coordinate (0,0).The default value is a Point with coordinates (0,0).

Esempi

Nell'esempio seguente vengono compilati gli elementi nel codice RenderTransformOrigin, viene applicato un oggetto RenderTransform, quindi viene applicato un oggetto.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

Commenti

RenderTransformOriginpresenta un utilizzo non standard del valore della Point struttura, in Point quanto non rappresenta una posizione assoluta in un sistema di coordinate.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. Al contrario, i valori compresi tra 0 e 1 vengono interpretati come fattore per l'intervallo dell'elemento corrente in ogni asse 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. Ad esempio, (0,5, 0,5) provocherà il centramento della trasformazione di rendering sull'elemento oppure (1,1) la trasformazione di rendering verrà posizionata nell'angolo inferiore destro dell'elemento.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. NaNnon è un valore accettato.NaN is not an accepted value.

Vengono accettati anche valori oltre 0 e 1 e si otterranno effetti di trasformazione non convenzionali.Values beyond 0 and 1 are also accepted, and will result in more unconventional transform effects. Se, ad esempio, si RenderTransformOrigin imposta su (5, 5) e quindi si applica un RotateTransformoggetto, il punto di rotazione sarà ben all'esterno dei limiti dell'elemento stesso.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 trasformazione girerà l'elemento in un cerchio grande che ha origine oltre il lato destro.The transform will spin your element around in a big circle that originates beyond bottom right. L'origine potrebbe trovarsi in un punto qualsiasi all'interno del relativo elemento padre e potrebbe essere probabilmente fuori dal frame o dalla visualizzazione.The origin might be somewhere inside its parent element and could possibly be possibly out of frame or view. I valori dei punti negativi sono simili, che andranno oltre i limiti superiori a sinistra.Negative point values are similar, these will go beyond the top left bounds.

Le trasformazioni di rendering non influiscono sul layout e vengono in genere utilizzate per animare o applicare un effetto temporaneo a un elemento.Render transforms do not affect layout, and are typically used to animate or apply a temporary effect to an element.

Uso della sintassi XAML per gli attributiXAML Attribute Usage

<object RenderTransformOrigin="xOrigin, yOrigin"/>  

Utilizzo della sintassi XAML per elementi proprietàXAML Property Element Usage

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

Valori XAMLXAML Values

xOriginxOrigin
Fattore di origine orizzontale.The horizontal origin factor. Viene in genere specificato come valore compreso tra 0 e 1.This is typically given as a value between 0 and 1. Vedere la sezione Osservazioni.See Remarks.

yOriginyOrigin
Fattore di origine verticale.The vertical origin factor. Viene in genere specificato come valore compreso tra 0 e 1.This is typically given as a value between 0 and 1. Vedere la sezione Osservazioni.See Remarks.

Informazioni proprietà di dipendenzaDependency Property Information

Campo identificatoreIdentifier field RenderTransformOriginProperty
Proprietà dei metadati impostate sutrueMetadata properties set to true nessunoNone

Si applica a

Vedi anche