Drehen Sie eine Leinwand mit Layout zu Transformieren
Ich versuche zu drehen, diese Leinwand
<Canvas Canvas.Left="203" Canvas.Top="274" Name="canvas1" Height="0" Width="0" >
<Rectangle.LayoutTransform>
<RotateTransform Angle="-45"/>
</Rectangle.LayoutTransform>
Ich drehen wollen diese Leinwand aber in der gleichen position.. überprüfen Sie dieses Bild
Dem linken Bild, das ich nicht wollen, das zu tun.. ich brauche, das zweite zu erstellen.. aber immer ich brauche, um X -, Y-Werte? Oder gibt es einen anderen Weg?
Du musst angemeldet sein, um einen Kommentar abzugeben.
In WPF, hat zwei Eigenschaften zur Unterstützung von display-Transformationen
LayoutTransform
undRenderTransform
.Jede Transformation zugeordnet LayoutTransform wird angewendet, wenn ein layout durchgeführt wird. RenderTransform angewendet wird, nachdem das layout beim Rendern durchgeführt wird.Müssen Sie ändern, um die Transformation zu RenderTransform
Sehen Sie den Unterschied zwischen LayoutTransform und RenderTransform.
RenderTransform
(richtig) wählen Sie die Mitte des Objektes, wie es hier gemacht hat, als das Zentrum der rotation? Ich vermute es wird wohl davon abhängen, wo Sie beginnen das zeichnen den Betrieb aus. In anderen Worten, wie funktioniert die RenderTransform - 'wissen', wo die Mitte ist? Ich vermute, die Antwort ist, dass es nicht. Sie könnenRenderTransformOrigin
zu sagen, die Transformations-engine, wo das Zentrum der Drehung ist relativ zu den Begrenzungen des Objekts.RenderTransformOrigin
um die Mitte des Elements, auch wenn Sie nicht wissen, seine Größe.