C# / WPF에서 애니메이션을 중지하는 방법
이런 게 있어요.
bar Progress(바 프로그레스).Begin Animation(Range Base).Value Property, 새로운 Double Animation()bar Progress(바 프로그레스).값, dNextProgressValue,new Duration(Time Span).From Seconds(기간);
이제 어떻게 그 애니메이션을 멈출 수 있을까요?DoubleAnimation)? 제가 이걸 하고 싶은 이유는 새로운 애니메이션을 시작하고 싶기 때문입니다(이것은 효과가 있는 것 같지만, 말하기 어렵기 때문에).그리고 최종적으로 마지막 애니메이션을 정지하고 싶기 때문입니다.
중지하려면 전화하십시오.BeginAnimation두 번째 인수가 로 설정된 상태에서null.
스토리보드를 사용하여 애니메이션을 제어하는 경우 애니메이션을 제어 가능한 것으로 설정하려면 두 번째 파라미터를 true로 설정해야 합니다.
public void Begin(
FrameworkContentElement containingObject,
**bool isControllable**
)
Begin Animation을 중지하려면 두 가지 방법이 있습니다.첫 번째는 두 번째 파라미터를 null로 설정하고 Begin Animation을 다시 호출하는 것입니다.이렇게 하면 속성의 모든 애니메이션이 제거되고 값이 기본 값으로 돌아갑니다.
이 값을 사용하는 방법에 따라서는 원하는 동작이 아닐 수 있습니다.두 번째 방법은 애니메이션 Begin Time을 null로 설정하고 Begin Animation을 호출하는 것입니다.그러면 해당 애니메이션이 제거되고 값이 현재 위치에 유지됩니다.
DoubleAnimation myAnimation = new Animation();
// Initialize animation
...
// To start
element.BeginAnimation(Property, myAnimation);
// To stop and keep the current value of the animated property
myAnimation.BeginTime = null;
element.BeginAnimation(Property, myAnimation);
<Trigger.EnterActions>
<BeginStoryboard x:Name="myStory">
.........
</BeginStoryboard>
</Trigger.EnterActions>
<Trigger.ExitActions>
<StopStoryboard BeginStoryboardName="myStory"/>
</Trigger.ExitActions>
두 개의 명령어를 사용해야 했던 제 경우, xaml에는 트리거를 실행하는 버튼이 있고, 그 트리거가 스토리보드 애니메이션을 실행합니다.
다음 코드를 사용하여 애니메이션을 중지하는 버튼을 눌렀습니다.
MyBeginStoryboard.Storyboard.Begin(this, true);
MyBeginStoryboard.Storyboard.Stop(this);
마음에 안 들지만 여기서 진짜 잘 돼.한번 해봐!
기준값이 다시 유효값이 되도록 하려면 애니메이션이 속성에 영향을 미치지 않도록 해야 합니다.스토리보드 애니메이션을 사용하여 이를 수행하는 세 가지 방법이 있습니다.
- 애니메이션의 FillBehavior 속성을 Stop으로 설정합니다.
- 스토리보드 전체를 삭제합니다.
- 개별 속성에서 애니메이션 제거
MSDN에서
StoryBoard에 애니메이션을 배치합니다.스토리보드의 Begin()과 Stop()을 호출하여 애니메이션을 정지합니다.
다음 코드를 사용할 수 있습니다.
[StoryBoardName].Remove([StoryBoardOwnerControl]);
언급URL : https://stackoverflow.com/questions/20298/how-to-stop-an-animation-in-c-sharp-wpf
'programing' 카테고리의 다른 글
| Git에 사용자 이름과 비밀번호를 저장하는 방법은 무엇입니까? (0) | 2023.04.20 |
|---|---|
| Http Context가 되는 이유대기 후 현재 null입니까? (0) | 2023.04.20 |
| Kotlin 목록과 배열 유형의 차이 (0) | 2023.04.20 |
| 열에 대한 이유가 집계 함수 또는 GROUP BY 절에 포함되어 있지 않으므로 선택 목록에 유효하지 않습니다. (0) | 2023.04.20 |
| Bash에서 여러 줄 문자열을 출력하려면 어떻게 해야 합니까? (0) | 2023.04.20 |