2014-11-23 7 views
0

Я пытаюсь создать очень простую анимацию, в которой я анимация DropShadowEffect на элементе управления с помощью C#. Из моего небольшого понимания WPF я полагал, что это было сделано таким образом;Анимация DropShadowEffect на элементе управления

 DoubleAnimation da = new DoubleAnimation(); 
     da.From = 10; 
     da.To = 50; 
     da.Duration = TimeSpan.FromSeconds(1); 
     progressBar1.BeginAnimation(DropShadowEffect.BlurRadiusProperty, da); 

Это яркое свечение на черном фоне, поэтому я уверен, что свечение там и не движется. Я попытался применить его и к другим элементам управления. Мне что-то не хватает? Но код ничего не делает. Я тоже не ошибаюсь. Буду признателен за любую помощь.

ответ

1

Вы должны вызвать функцию BeginAnimation на эффекте, а не на контроле:

Это XAML:

<ProgressBar Width="200" Height="30" Name="progressBar1"> 
    <ProgressBar.Effect> 
     <DropShadowEffect Color="Black" x:Name="effect" > 

     </DropShadowEffect> 
    </ProgressBar.Effect> 
</ProgressBar> 

А вот код:

DoubleAnimation da = new DoubleAnimation(); 
da.From = 10; 
da.To = 50; 
da.Duration = TimeSpan.FromSeconds(1); 
effect.BeginAnimation(DropShadowEffect.BlurRadiusProperty, da); 
+0

Ах! Я знал, что пропустил что-то явно очевидное, спасибо за разъяснение этого для меня. Он работает сейчас. – Stella

Смежные вопросы