2012-10-23 52 views
21

Tôi có một hình ảnh trên một nút mà tôi muốn xoay khi người dùng nhấp vào nó. Tôi allmost có nó để làm việc. Hình ảnh quay tốt trên nhấp chuột, nhưng nó không xoay quanh tâm của nó.wpf xoay hình ảnh xung quanh trung tâm

Làm cách nào để làm cho hình ảnh xoay quanh tâm của nó chứ không phải góc trên cùng bên trái?

Đây là mã của tôi:

<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

thường thêm một bản dịch trước khi vòng xoay có thể sắp xếp điều này. –

Trả lời

37

Chỉ cần thiết lập RenderTransformOrigin để (0.5, 0.5) vào hình ảnh

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

Chính xác những gì tôi cần, cảm ơn! – BMB

Các vấn đề liên quan