0
此代码仅触发一次旋转画布。为什么当用户第二次按下旋转按钮时它不会旋转?如何保持旋转图像或画布
--update with button
<AppBarButton x:Name="CamRotate90" Margin="0,2,2,0" Width="90" Height="90" FontSize="16" Label="Rotate-Right" Icon="Rotate" Click="CamRotate90_Click"> </AppBarButton> <Canvas x:Name="canvas" Margin="231,28,321,111" Width="700" Height="525" Grid.Row="0" Grid.RowSpan="3" Grid.Column="0"> <Image Canvas.Top="0" Canvas.Left="0" Margin="0" x:Name="preview" Width="700" Height="525" Stretch="UniformToFill" > </Image> </Canvas> private void CamRotate90_Click(object sender, RoutedEventArgs e) { CompositeTransform ct = new CompositeTransform(); ct.CenterX = canvas.ActualWidth/2; ct.CenterY = canvas.ActualHeight/2; ct.Rotation = 90; canvas.RenderTransform = ct; }
尝试+ = 90?另外,在上面的代码中放下你的按钮定义,以便检查事件处理程序是否正确定义。 – kidshaw 2014-11-04 07:44:02
它不起作用:ct.Rotation + = 90; – MilkBottle 2014-11-04 10:36:12
您每次创建一个新的转换对象,当然+ =不起作用。抱歉。相反,每次单击该按钮时,请在课堂中保留一个计数器,然后将变换设置为该x 90。 – kidshaw 2014-11-04 21:28:48