2015-11-16 153 views
0

你好我想在button做出animation,它确实增加IsMouseOverwidthheight,然而,当IsMouseOverfalse,它不与动画回到它原来的地方。按钮动画WPF

这里是我的.XAML

<Grid> 
    <Button Margin="355,0,0,0" Width="100" Height="300"> 
     <Image Source="img/blue.jpg" /> 
     <Button.Style> 
      <Style TargetType="Button"> 
       <Style.Triggers> 
        <Trigger Property="IsMouseOver" Value="True"> 
         <Trigger.EnterActions> 
          <BeginStoryboard> 
           <Storyboard> 
            <ThicknessAnimation Duration="0:0:0.250" To="0" 
            Storyboard.TargetProperty="BorderThickness" /> 
            <DoubleAnimation Duration="0:0:0.550" To="320" 
            Storyboard.TargetProperty="Height" /> 
            <DoubleAnimation Duration="0:0:0.550" To="120" 
            Storyboard.TargetProperty="Width" /> 
           </Storyboard> 
          </BeginStoryboard> 
         </Trigger.EnterActions> 
        </Trigger> 
        <Trigger Property="IsMouseOver" Value="False"> 
         <Trigger.EnterActions> 
          <BeginStoryboard> 
           <Storyboard> 
            <ThicknessAnimation Duration="0:0:0.250" To="0" 
            Storyboard.TargetProperty="BorderThickness" /> 
            <DoubleAnimation Duration="0:0:0.550" To="300" 
            Storyboard.TargetProperty="Height" /> 
            <DoubleAnimation Duration="0:0:0.550" To="100" 
            Storyboard.TargetProperty="Width" /> 
           </Storyboard> 
          </BeginStoryboard> 
         </Trigger.EnterActions> 
        </Trigger> 
       </Style.Triggers> 
      </Style> 
     </Button.Style> 
    </Button> 
</Grid> 

回答

3

您应该将动画Trigger.ExitActions这样。

<Button.Style> 
    <Style TargetType="Button"> 
     <Style.Triggers> 
      <Trigger Property="IsMouseOver" Value="True"> 
       <Trigger.EnterActions> 
        <BeginStoryboard> 
         <Storyboard> 
          <ThicknessAnimation Duration="0:0:0.250" To="0" 
                  Storyboard.TargetProperty="BorderThickness" /> 
          <DoubleAnimation Duration="0:0:0.550" To="120" 
                  Storyboard.TargetProperty="Height" /> 
          <DoubleAnimation Duration="0:0:0.550" To="120" 
                  Storyboard.TargetProperty="Width" /> 
         </Storyboard> 
        </BeginStoryboard> 
       </Trigger.EnterActions> 
       <Trigger.ExitActions> 
        <BeginStoryboard> 
         <Storyboard> 
          <ThicknessAnimation Duration="0:0:0.250" To="0" 
                  Storyboard.TargetProperty="BorderThickness" /> 
          <DoubleAnimation Duration="0:0:0.550" To="100" 
                  Storyboard.TargetProperty="Height" /> 
          <DoubleAnimation Duration="0:0:0.550" To="100" 
                  Storyboard.TargetProperty="Width" /> 
         </Storyboard> 
        </BeginStoryboard> 
       </Trigger.ExitActions> 
      </Trigger> 
     </Style.Triggers> 
    </Style> 
</Button.Style> 
+0

就像一个魅力工作,我有另一个问题,它有可能只增长,例如从左侧? – Valkyry

+0

如果按钮放置在“Grid”容器中,并且它的属性设置为“Horizo​​ntalAlignment =”Left“Margin =”10,0,0,0“' – bars222

+0

好极了!谢谢! – Valkyry