(0) exportieren Drucken
Alle erweitern
Erweitern Minimieren
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

UIElement.RenderTransformOrigin-Eigenschaft

Ruft den Mittelpunkt einer beliebigen von RenderTransform deklarierten Rendertransformation in Bezug auf die Grenzen des Elements ab oder legt diesen fest. Dies ist eine Abhängigkeitseigenschaft.

Namespace:  System.Windows
Assembly:  PresentationCore (in PresentationCore.dll)
XMLNS für 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"/>

XAML-Werte

xOrigin

Der Faktor für den horizontalen Ursprung. Dieser wird normalerweise als Wert zwischen 0 und 1 angegeben. Siehe Hinweise.

yOrigin

Der Faktor für den vertikalen Ursprung. Dieser wird normalerweise als Wert zwischen 0 und 1 angegeben. Siehe Hinweise.

Eigenschaftswert

Typ: System.Windows.Point
Der Wert, der die Rendertransformation deklariert. Der Standardwert ist ein Point mit den Koordinaten (0;0).

Bezeichnerfeld

RenderTransformOriginProperty

Auf true festgelegte Metadateneigenschaften

NONE

RenderTransformOrigin weist eine vom Standard abweichende Verwendung des Point-Strukturwerts auf, da der Point keine absolute Position in einem Koordinatensystem darstellt. Stattdessen werden Werte zwischen 0 und 1 als Faktor für den Bereich des aktuellen Elements auf jeder x- bzw. y-Achse interpretiert. Mit (0,5;0,5) wird z. B. die Rendertransformation für das Element zentriert, und mit (1;1) wird die Rendertransformation in der unteren rechten Ecke des Elements platziert. NaN ist kein zulässiger Wert.

Werte jenseits von 0 und 1 werden ebenfalls akzeptiert, und sie führen zu weniger gebräuchlichen Transformationseffekten. Wenn Sie beispielsweise RenderTransformOrigin auf (5;5) festlegen und anschließend einen RotateTransform anwenden, liegt der Drehpunkt eindeutig außerhalb der Grenzen des Elements. Durch die Transformation wird das Element in einem großen Kreis gedreht, der seinen Ursprung unterhalb der unteren rechten Ecke hat. Der Ursprung kann sich innerhalb des zugehörigen übergeordneten Elements befinden und dennoch außerhalb des Frames oder der Ansicht liegen. Für negative Punktwerte gilt dasselbe, diese gehen über die linken Obergrenzen hinaus.

Rendertransformationen haben keine Auswirkungen auf das Layout, und sie werden i. d. R. zum Anwenden von Animationen oder temporären Effekten auf ein Element verwendet.

Im folgenden Beispiel werden Elemente im Code erstellt, ein RenderTransformOrigin wird angewendet, und anschließend wird ein RenderTransform angewendet.


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

Unterstützt in: 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

Es werden nicht alle Versionen sämtlicher Plattformen von .NET Framework unterstützt.. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft