2011-10-28 3 views
3

내 프로젝트에서이 코드 조각을 추출했습니다. 내 실수로 내 BeginStoryboard이 멈추는 것을 찾으려했기 때문입니다. 가능한 한 코드를 간소화하고 여전히 문제가 보이지 않습니다. 그게 뭐라고 생각하니?StopStoryboard가 ... StopStoryboard를 중지하지 않습니다.

<Window Width="640" Height="480" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"> 
<StackPanel> 
    <Button Content="Start" Name="Button" Width="200"> 
     <Button.Triggers> 
      <EventTrigger RoutedEvent="Button.Click"> 
       <BeginStoryboard Name="Storyboard"> 
        <Storyboard> 
         <DoubleAnimation By="150" Duration="0:0:5" Storyboard.TargetName="Button" Storyboard.TargetProperty="Width"/> 
         <StringAnimationUsingKeyFrames Storyboard.TargetName="Button" Storyboard.TargetProperty="Content"> 
          <DiscreteStringKeyFrame KeyTime="0:0:5" Value="Did you click? Because I obviously didn't stop..."/> 
         </StringAnimationUsingKeyFrames> 
        </Storyboard> 
       </BeginStoryboard> 
      </EventTrigger> 
     </Button.Triggers> 
    </Button> 
    <Button Content="Stop"> 
     <Button.Triggers> 
      <EventTrigger RoutedEvent="Button.Click"> 
       <StopStoryboard BeginStoryboardName="Storyboard"/> 
      </EventTrigger> 
     </Button.Triggers> 
    </Button> 
</StackPanel> 
</Window> 

자신이 먼저 버튼은 스토리 보드를 트리거 코드를 시도는, 두 번째는 중지하기로되어 있지만, 아무 일도 발생하지 않습니다, 그래서 첫 번째 버튼의 애니메이션을 즐겁게 계속된다.

답변

3

BeginStoryboard은 다른 명명 범위에 있으므로 StopStoryboard에는 표시되지 않습니다.

the MSDN example과 같은 두 트리거를 같은 컬렉션에 넣어야합니다.

+1

링크는 4.5/4.6 .net 버전 페이지를 열 것이며 예제는 없습니다. 하나를 보려면 4.0로 전환하십시오. – Sinatr

관련 문제