큐를 기반으로 불투명도를 변경하는 애니메이션 컨트롤을 만들려고합니다.WPF 불투명도 애니메이션 컨트롤 설정 IsEnabled = false
애니메이션 자체가 올바르게 작동합니다. 키 누르기에 따라 불투명도가 움직이며 컨트롤이 표시됩니다. 애니메이션의 나머지 부분이 포함 된 그리드 컨트롤에 애니메이션을 넣었습니다.
문제는 다음과 같습니다. 애니메이션이 끝나면 수동으로 코드 숨김에서 true로 설정 한 후에도 격자의 IsEnabled 속성이 "false"로 유지됩니다. 이 명령은 예외를 발생시키지 않지만 속성을 실제로 변경하지는 않습니다.
그런 다음 동일한 애니메이션을 다시 실행하지만 그 반대이면이 값은 실제로 "참"이됩니다. 그러나 물론, 그 순간에 그것은 이미 사라져 가고 있습니다. 몇 가지 추가 디버깅을 통해
void Initialize()
{
// fade animation storyboard
FadeAnimation = new DoubleAnimation(0.0, 1.0,
new Duration(TimeSpan.FromSeconds(0.7)))
{ FillBehavior = FillBehavior.HoldEnd };
FadeStoryboard.Children.Add(FadeAnimation);
Storyboard.SetTargetName(FadeAnimation, grid.Name);
Storyboard.SetTargetProperty(FadeAnimation,
new PropertyPath(Grid.OpacityProperty));
}
// flipping the animation around
void InputManager_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Space)
{
if (!ViewModel.IsActive)
{
FadeAnimation.From = grid.Opacity;
FadeAnimation.To = 1.0;
FadeStoryboard.Begin(this);
ViewModel.IsActive = true;
}
else if (ViewModel.IsActive)
{
FadeAnimation.From = grid.Opacity;
FadeAnimation.To = 0.0;
FadeStoryboard.Begin(this);
ViewModel.IsActive = false;
}
}
}
[편집] 나는 정반대 인, 적극적으로 페이드에 false로 활성화 세트 애니메이션, 그리고이 페이드 아웃 할 때 true로 설정하는 것으로 나타났습니다 내가하고 싶은 일.
[편집 2] 완전히 애니메이션을 도랑에 넣을 때 똑같은 문제가 발생하고 숨김 상태로 표시 여부가 변경됩니다. 그것은 내가 숨김으로 만들 때 가능하게하고 내가 보이게 만들면 사용할 수 없도록 만듭니다.
실제 질문은 무엇입니까? – Terry
"IsEnabled"는 사실이되기를 거부합니다. 애니메이션은 작동하지만 내 이벤트는 수행하지 않습니다. –