화면에 둥근 버튼을 두드려서 애니메이션 효과를주고 싶다고 가정 해 보겠습니다. 처음에는 버튼 (타원) 배경 (채우기)이 투명하고 테두리 브러시 (윤곽선)는 버튼처럼 보일 수 있도록 약간의 색상과 두께가 있습니다.WPF 이벤트를 처리하기 전에 애니메이션 대기 종료
필자는이 타원의 타원을 스타일러스 또는 마우스로 입력하면이 타원의 효과를 줄 수 있습니다 (아이폰 및 다른 장치에서 본 것처럼). 다음
<Style x:Key="circularButton" TargetType="Ellipse">
<Style.Triggers>
<EventTrigger RoutedEvent="StylusEnter">
<BeginStoryboard>
<Storyboard FillBehavior="Stop">
<ColorAnimation Storyboard.TargetProperty="(Ellipse.Fill).Color" From="Transparent" To="#993C5E66" Duration="00:00:00.2" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
<EventTrigger RoutedEvent="StylusLeave">
<BeginStoryboard>
<Storyboard>
<ColorAnimation Storyboard.TargetProperty="(Ellipse.Fill).Color" From="#993C5E66" To="Transparent" Duration="00:00:00.2" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
<EventTrigger RoutedEvent="MouseEnter">
<BeginStoryboard>
<Storyboard>
<ColorAnimation Storyboard.TargetProperty="(Ellipse.Fill).Color" From="Transparent" To="#993C5E66" Duration="00:00:00.2" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
<EventTrigger RoutedEvent="MouseLeave">
<BeginStoryboard>
<Storyboard>
<ColorAnimation Storyboard.TargetProperty="(Ellipse.Fill).Color" From="#993C5E66" To="Transparent" Duration="00:00:00.2" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Style.Triggers>
</Style>
그리고 ''StylusDown ''/ ''MouseDown ''이벤트가 실제로 버튼을 눌러을 처리하기 위해 가입 :
나는 응용 프로그램 자원 스타일을 만들었습니다. 버튼을 누르면 다른 양식이 시작됩니다. 문제는이 양식을 시작하기 전에 애니메이션이 완료 될 때까지 기다려야한다는 것입니다. 이게 가능한가?
방금 이벤트 처리기에서 잠을 넣어 시도 했습니까? WPF에서는 폼이 아닙니다. 그리고 휴가 중에 취소하고 싶을 수도 있습니다. – Paparazzi
이벤트 취소 중 (예 : e.Handled = true) 정말 필요합니까? – Crypton