2012-10-23 174 views
21

我有一个按钮上的图像,我想在用户单击它时进行旋转。我几乎都有它的工作。点击时图像旋转良好,但不会围绕其中心旋转。wpf围绕中心旋转图像

如何让图像围绕其中心而不是左上角旋转?

这里是我的代码:

<Button Name="btnRefreshPortList" 
       Grid.Column="1" 
       Margin="10 0 0 0" 
       Command="{Binding RefreshPortList}"> 

      <Image Source="Images/refresh.jpg" 
        Height="15"> 
       <Image.RenderTransform> 
        <RotateTransform x:Name="AnimatedRotateTransform" Angle="0" /> 
       </Image.RenderTransform> 
       <Image.Triggers> 
        <EventTrigger RoutedEvent="MouseDown"> 
         <BeginStoryboard> 
          <Storyboard> 
           <DoubleAnimation Storyboard.TargetName="AnimatedRotateTransform" 
               Storyboard.TargetProperty="Angle" 
               By="10"   
               To="360" 
               Duration="0:0:0.5" 
               FillBehavior="Stop" /> 
          </Storyboard> 
         </BeginStoryboard> 
        </EventTrigger> 
       </Image.Triggers> 
      </Image> 


     </Button> 

BR FireFly3000

+0

通常添加翻译之前的旋转可以排序这个。 –

回答

37

只需设置RenderTransformOrigin到(0.5,0.5)的图像

 <Image Source="Images/refresh.jpg" 
       RenderTransformOrigin=".5,.5" 
       Height="15"> 
      ... 
+1

正是我需要的,谢谢! – BMB