/ / Pętle animacji z serii Storyboard na zawsze nawet z RepeatBehavior = "6" - wpf, xaml

Pętle animacji z serii Storyboard na zawsze nawet z RepeatBehavior = "6" - wpf, xaml

Jestem nowy w WPF i próby uzyskania niestandardowej kontroli użytkownika do animacji opartej na a DependencyProperty. Mam to wiążące do używania a DataTrigger. Jeśli DependencyProperty jest równe Niepowodzenie, powinien animować kolor wypełnienia prostokąta(nazwany buttonColor) w ramach kontroli użytkownika. Z jakiegoś powodu jednak zawsze pozostaje w pętli na zawsze, nawet jeśli ustawiam opcję PowtarzanieBo na 6 (lub dowolną inną liczbę, w tym 1 w tym przypadku). Jeśli usuniemy atrybut RepeatBehavior, zagra ona tylko raz (zgodnie z oczekiwaniami). Byłbym wdzięczny, gdyby ktoś mógł obejrzeć mój fragment XAML poniżej i powiedzieć mi, co robię źle.

<DataTrigger Binding="{Binding Path=ButtonAction.Status}" Value="Failure">
<DataTrigger.EnterActions>
<StopStoryboard BeginStoryboardName="Pulse"/>

<BeginStoryboard>
<Storyboard RepeatBehavior="1">
<ColorAnimation Storyboard.TargetName="buttonColor" Storyboard.TargetProperty="Fill.Color" To="{StaticResource FailedColor}" AutoReverse="True" />
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
</DataTrigger>

Odpowiedzi:

29 dla odpowiedzi nr 1

Poprawna składnia do powtórzenia N czasy to:

<Storyboard RepeatBehavior="Nx">

na przykład:

<Storyboard RepeatBehavior="6x">

0 dla odpowiedzi nr 2

Ustawienie wartości czasu trwania również ograniczy wartośćpowtórz zachowanie, ponieważ ma pierwszeństwo. Jeśli więc masz ustawione zachowanie powtarzania w znaczniku ColorAnimationUsingKeyFrames, ale w scenorysie ustawisz Duration = "0: 0: 4", animacja będzie się powtarzać tylko przez 4 sekundy.