2011-10-28 18 views
3

BeginStoryboardが停止しないように間違いを見つけようとしていたので、このコードをプロジェクトから抽出しました。私は可能な限りコードを簡素化し、それでも問題は見えません。それはどういうことだと思いますか?StopStoryboardは... BeginStoryboardを停止しません

<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> 

自分自身、最初のボタンが第二1がそれを停止することになったが、何も起こりませんので、最初のボタンでアニメーションは喜んで行くされ、ストーリーボードをトリガーするコードを試してみてください。

答えて

3

BeginStoryboardは異なる名前付け範囲にあるため、StopStoryboardには表示されません。

the MSDN exampleのように、両方のトリガーを同じコレクションに入れる必要があります。

+1

リンクは4.5/4.6 .netバージョンのページを開きますが、例はありません。表示するには4.0に切り替えてください。 – Sinatr

関連する問題