XAML EventTrigger를 C# 코드로 번역하십시오
-
06-07-2019 - |
문제
누구든지 C#에서 이것이 어떻게 생겼는지 말해 줄 수 있습니까?
<EventTrigger RoutedEvent="Button.Click" SourceName="btnSplit">
<EventTrigger.Actions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation From="0" To="1" Duration="0:0:0.25" Storyboard.TargetName="gridSplit" Storyboard.TargetProperty="(FrameworkElement.LayoutTransform).(ScaleTransform.ScaleY)"/>
<DoubleAnimation From="1" To="0" Duration="0:0:0.25" Storyboard.TargetName="gridJoin" Storyboard.TargetProperty="(FrameworkElement.LayoutTransform).(ScaleTransform.ScaleY)"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger.Actions>
</EventTrigger>
사용자가 프로그래밍 방식으로 버튼을 클릭 할 때 코드를 실행하고 싶기 때문에 "RoutedEvent"-파트가 필요하지 않습니다. 그렇지 않으면 코드-비만에서 전체 애니메이션을해야합니다.
미리 감사드립니다!
멤피스
해결책
해결했습니다!
스토리 보드에 x : 이름을 알려주고 다음과 같이 부릅니다.
<Storyboard x:Name="storyBoardName">
<DoubleAnimation From="0" To="1" Duration="0:0:0.25" Storyboard.TargetName="grid1" Storyboard.TargetProperty="(FrameworkElement.LayoutTransform).(ScaleTransform.ScaleY)"/>
<DoubleAnimation From="1" To="0" Duration="0:0:0.25" Storyboard.TargetName="grid2" Storyboard.TargetProperty="(FrameworkElement.LayoutTransform).(ScaleTransform.ScaleY)"/>
</Storyboard>
Storyboard story = (Storyboard)this.FindResource("storyBoardName");
this.BeginStoryboard(story);
제휴하지 않습니다 StackOverflow