2013-09-04 9 views
0

PlaneProjection을 사용하여 Y 축에서 회전하는 Rectangle이 있습니다. 범위는 0에서 360까지 설정되며 정상적으로 작동합니다. 그러나 내가하고자하는 것은이 값이 특정 지점에 도달하면 채우기 색상을 변경하는 것입니다.이 경우 180에서 180으로 변경하십시오. 이 속성을 "감시"하는 방법을 찾을 수 없으며 애니메이션은 Completed 이벤트 만 노출합니다.DoubleAnimation에서 특정 값으로 작업을 수행하려면 어떻게해야합니까?

내가 할 수있는 유일한 방법은 설정 2 애니메이션, 0에서 180까지 그리고 180에서 360까지의 색상을 변경 한 다음 그 사이에서 색상을 앞뒤로 변경하는 것입니다. 이 방법은 나에게 조금 불쾌감을 느끼지만 두 애니메이션을 연속적으로 연속적으로 발사하는 방법을 모르겠습니다.

감사

+0

가능한 복제본 [http://stackoverflow.com/questions/7102506/how-to-change-objects-y-projection-axis-and-color-via-c-sharp-rather-than-xaml] (http://stackoverflow.com/questions/7102506/how-to-change-objects-y-projection-axis-and-color-via-c-sharp-rather-than-xaml) – Naren

+1

맞아, 나는하지 않았다. 내가 찾을 때 그걸 보게. 나는 100 % 확신하지 못한다. hes가 색상 변경을 어떻게 수행 하는지를 단지 타이밍을 정하지 않는 한 이해한다. 나는 이것을 더 깊이 탐구 할 것이다. – jrandomuser

답변

0

당신은 다른 (사용자 정의를?) 바인딩 속성을 채우기 색상을 변경 PlaneProjection에와 속성 변경 처리기에서 회전 속성을 시도 할 수 있습니다.

또 다른 옵션은 ColorAnimationUsingKeyFrames with DiscreteColorKeyFrame을 사용하고 회전 값이 원하는 값에 도달 할 때 채우기에 사용되는 SolidColorBrush의 색상을 설정하는 것입니다. DoubleAnimationUsingKeyFrames와 같은 것을 사용하거나 이징 함수를 사용하지 않는 한 애니메이션 기간을 설정하는 시간의 절반으로 일반적으로 180 배가됩니다.

다음 올바른 색을 선택하는 변환기를 사용하여 PlaneProjection의 rotation 속성에 Fill 속성을 바인딩 할 수도 있습니다.

+0

고마워요! 스토리 보드에 ColorAnimationUsingKeyFrames를 추가하여 가깝게 만들었습니다. 나는 그것을 가까이에 가졌지 만 타이밍을 올바르게 잡으려면 약간의 노력이 필요할 것입니다. 스핀을 사용 시간으로 변경하고 3 초로 설정했습니다. 그런 다음 색상 애니메이션을 1.5와 3에서 시작하도록 설정했습니다. 색상은 변경되지만 타이밍은 분명히 꺼져 있습니다. 나는 그것을 계속 조정할 것이고, 나는 단지 스핀 속도가 장치에서 장치까지 일정하기를 바랄 뿐이다. – jrandomuser

+0

이러한 애니메이션이 동일한 스토리 보드의 일부인 경우 동일한 타이머에 의해 제어되며 동기화되지 않습니다. 타이밍을 올바르게 잡으려면 Blend를 사용해야합니다. 스토리 보드에서 SpeedRatio를 1보다 낮은 값으로 설정하여 느린 동작으로 볼 수도 있습니다. –

관련 문제