2010-02-18 35 views
7

Eh ben özel bir kontrole sahip ve VisibilityVisible için değiştirildiğinde bir girin/çıkış eylem ile bir Trigger var ama sorun çıkış eylemi tetiklediğinde Visibility artık Visible animasyonun nasıl görülemez olmasıdır Bunu giderir miydim?WPF Görünürlük değiştiğinde tetikleme animasyonu?

burada benim Trigger geçerli:

<ControlTemplate.Triggers> 
    <Trigger Property="Visibility" Value="Visible"> 
     <Trigger.ExitActions> 
      <BeginStoryboard Storyboard="{StaticResource Hide}"/> 
     </Trigger.ExitActions> 
     <Trigger.EnterActions> 
      <BeginStoryboard Storyboard="{StaticResource Show}"/> 
     </Trigger.EnterActions> 
    </Trigger> 
</ControlTemplate.Triggers> 
+0

Doğru. Zor şeyler. Bu sorunu iliştirilmiş özellikler + değer baskısı ile çözerdim. Buraya bir göz atın: [WPF Animasyonu Çözme] (http://stackoverflow.com/questions/1013817/wpf-fade-animation/1015635#1015635). Bu yardımcı olur umarım. Şerefe, Anvaka. – Anvaka

+0

Bu, içinde solgun bir animasyon mu var? Bunu düzenleyebilir miyim, böylece animasyonum bitene kadar sadece gizle/daraltmayı geciktirir? – Peter

+0

Petoj ile aynı şeyi merak ediyorum. – jpierson

cevap

3

Ben de bu denenmiş ve başarısız oldu. Bunu, Visibility özelliğinde ile ControlTemplate numaralı basit bir şekilde gerçekleştirmenin mümkün olmadığını düşünüyorum. Yapabilecekleriniz, Opacity animasyonunu farklı bir özellik için 1'den 0'a kadar Trigger'a ekleyiniz, örneğin kodun arkasına eklediğiniz bir DependencyProperty.

0

Ayrıca animasyon dönemi için Visibility ayarlamak için ObjectAnimationUsingKeyFrames kullanabilirsiniz. Böyle bir durumda, herhangi bir codebehind gerek yoktur.

+0

im% 100 emin değilsiniz ancak HideStoryboard, Görünürlük değerini değiştirdiyse ShowStoryboard'u tetikler mi? – Peter

İlgili konular