У меня есть EventTrigger, который остановит несколько раскадровки, которые определены в моем XAML ... но теперь мне нужно остановить раскадровку, которую я запускаю программно.Остановка программно созданной раскадровки
<UserControl.Resources>
<Storyboard x:Key="FadeIn"> ... Fade In Definition </StoryBoard>
<Storyboard x:Key="FadeOut"> ... Fade In Definition </StoryBoard>
</UserControl>
<UserControl.Triggers>
<EventTrigger RoutedEvent="Mouse.MouseLeave">
<BeginStoryboard="{StaticResource FadeIn}" x:Name="FadeIn_BeginStoryboard" />
</EventTrigger>
<EventTrigger RoutedEvent="Mouse.MouseEnter">
<StopStoryboard BeginStoryboardName="FadeIn_BeginStoryboard"/>
<StopStoryboard BeginStoryboardName="FadeOut_BeginStoryboard"/>
</EventTrigger>
</UserControl.Triggers>
Storyboard FadeOutStoryboard;
public void StopFadeOut() {
FadeIn_BeginStoryboard.Storyboard.Stop();
FadeOut_BeginStoryboard.Storyboard.Stop();
FadeOutStoryboard = (Storyboard) FindResource("FadeOut");
FadeOutStoryboard.Name="FadeOutStoryboard";
FadeOutStoryboard.Begin();
}
Когда я положил < StopStoryboard BeginStoryboardName = "FadeOutStoryboard" /> он говорит мне, что не может найти FadeOutStoryboard. Я довольно новичок в программировании WPF, поэтому может быть лучший способ сделать это, и я открыт для этого. Метод StopFadeOut() вызывается родителем, который создает экземпляр моего usercontrol.