Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

UIElement.RenderTransformOrigin-Eigenschaft

 

Veröffentlicht: Oktober 2016

Ruft den Mittelpunkt einer möglichen Rendertransformation ab, die von RenderTransform in Bezug zu den Grenzen des Elements deklariert ist, bzw. legt diesen fest. Hierbei handelt es sich um eine Abhängigkeitseigenschaft.

Namespace:   System.Windows
Assembly:  PresentationCore (in PresentationCore.dll)

public Point RenderTransformOrigin { get; set; }

Eigenschaftswert

Type: System.Windows.Point

Der Wert, der die Rendertransformation deklariert. Der Standardwert ist ein Point mit den Koordinaten (0,0).

RenderTransformOrigin weist eine vom Standard abweichende Verwendung des der Point -Struktur auf, die Point stellt keine absolute Position in einem Koordinatensystem dar. Stattdessen werden die Werte zwischen 0 und 1 als Faktor für den Bereich des aktuellen Elements auf jeder x-bzw. y-Achse interpretiert. Beispielsweise (0,5; 0,5) führt dazu, dass die Rendertransformation, um die Konzentration auf das Element, oder (1,1) die Rendertransformation im unteren rechten Ecke des Elements platziert. NaN ist kein zulässiger Wert.

Werte jenseits von 0 und 1 werden ebenfalls akzeptiert und Transformationseffekten führt. Z. B. Wenn Sie festlegen RenderTransformOrigin (5,5), und wenden Sie dann eine RotateTransform, werden die Drehung Punkt außerhalb der Grenzen des Elements selbst. Die Transformation wird das Element in einem großen Kreis gedreht, der nach unten rechts stammt. Der Ursprung kann an einer beliebigen Stelle innerhalb seines übergeordneten Elements und möglicherweise werden möglicherweise Frame oder einer Ansicht. Negative Werte sind ähnlich, werden diese oben links Grenzen hinausgehen.

Rendern Transformationen wirken sich nicht auf Layout und werden in der Regel zum Animieren oder ein temporäres Effekts auf ein Element angewendet.

<object RenderTransformOrigin="xOrigin, yOrigin"/>

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

xOrigin

Der Faktor für den horizontalen Ursprung. Dies ist in der Regel als Wert zwischen 0 und 1 angegeben. Siehe Hinweise.

yOrigin

Der Faktor für den vertikalen Ursprung. Dies ist in der Regel als Wert zwischen 0 und 1 angegeben. Siehe Hinweise.

Feld-ID

RenderTransformOriginProperty

Festgelegte Metadateneigenschaften true

NONE

Im folgenden Beispiel werden Elemente im Code erstellt, gilt eine RenderTransformOrigin, und wendet dann einen 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
Verfügbar seit 3.0
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0
Zurück zum Anfang
Anzeigen: