Ich möchte die Taste um 90 Grad drehen, aber sie wird abgeschnitten, weil sie sich um (0,0) dreht. Wie man es um die Mitte dreht, wenn ich nicht weiß, dass es nicht in Pixel breit ist (es ist eine Vorlage für viele Schaltflächen)
75
Grid
Spaltenbreite auf Auto. Die korrekte Drehung funktioniert ohnehin nicht, da das Raster die Spaltenbreite anscheinend gleich der Breite der Schaltfläche in der Höhe einstellt.GridSplitter
. Versuchen Sie einfach, Satz Spaltenbreite vonauto
bis28
zu spielen und mitLayoutTransform
Antworten:
<Button ...> <Button.LayoutTransform> <RotateTransform CenterX="0.5" CenterY="0.5" Angle="90"/> </Button.LayoutTransform> </Button>
quelle
Sie müssen das RenderTransformOrigin des Steuerelements auf 0,5, 0,5 einstellen.
Ex.:
<Button RenderTransformOrigin="0.5, 0.5"> <RepeatButton.RenderTransform> <RotateTransform Angle="90"/> </RepeatButton.RenderTransform> </RepeatButton>
quelle
Nach meinem Verständnis ist der Ursprung bei einer LayoutTransform nicht relevant.
MSDN sagt:
und das folgende "richtig" dreht die Taste.
<Grid ShowGridLines="True"> <Grid.RowDefinitions> <RowDefinition></RowDefinition> <RowDefinition Height="Auto"></RowDefinition> <RowDefinition></RowDefinition> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition></ColumnDefinition> <ColumnDefinition Width="Auto"></ColumnDefinition> <ColumnDefinition></ColumnDefinition> </Grid.ColumnDefinitions> <Button Grid.Row="1" Grid.Column="1">Excessively Long Button Still Ok <Button.LayoutTransform> <RotateTransform Angle="90" /> </Button.LayoutTransform> </Button> </Grid>
quelle