Угол поворота 360
градусов по часовой стрелке. Это означает, что 25
градусов перемещает его практически на 1 час. Если вы хотите указать направо, это будет 90 градусов. Прямо вниз будет 180 градусов.
смысл Make? Посмотрите на это:
Вот некоторый код, чтобы помочь вам проверить:
<StackPanel Width="200" Margin="0,50">
<Grid Width="100" Height="100" Background="SteelBlue" RenderTransformOrigin=".5,.5">
<UIElement.RenderTransform>
<RotateTransform Angle="{Binding Value, ElementName=MySlider}" />
</UIElement.RenderTransform>
<Line HorizontalAlignment="Center" VerticalAlignment="Top"
Stroke="Goldenrod" StrokeThickness="4"
X1="2" X2="2"
Y1="0" Y2="40" />
<TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="White">
<Run Text="{Binding Value, ElementName=MySlider}" />
<Run Text="degrees" />
</TextBlock>
</Grid>
<Slider x:Name="MySlider" Maximum="360" Minimum="0" Value="25" />
</StackPanel>
Будьте уверены, и обратите внимание, что RenderTransformOrigin=".5,.5"
немного. Это будет действительно важно для вас, потому что оно определяет, где находится ось вращения. Значения от 0 до 1. Таким образом, 0,0
в основном сверху/слева и 1,1
внизу/справа. Это делает .5,.5
ударом в центре.
Удачи!
Так вы не можете просто извлечь его из результата? он вращается по часовой стрелке на «Угол». * он не двигается так сильно, как я ожидал * -> поэтому попробуйте увеличить угол. –
Сначала строка 'myImage.RenderTransform = transform;' является избыточной, поскольку вы устанавливаете свойство Angle уже существующего преобразования. Вращение по умолчанию расположено вокруг верхнего левого угла. Чтобы изменить это, вы можете либо установить «RenderTransformOrigin» элемента в относительные координаты (например, (0,5, 0,5) для центра), либо установить свойства «CenterX» и «CenterY» RotateTransform в абсолютных координатах. – Clemens