2011-01-05 21 views
5

Bazı benim ListBox'larda FluidMoveBehavior kullanan bir Windows 7 uygulaması üzerinde çalışıyorum. Bazı nedenlerden dolayı, FluidMoveBehavior animasyonu uygun zamanlarda etkinleştirmek istiyor gibi görünüyor. Şu anda benim ana sayfasında bir liste kutusu var ve ona bağlı bir FluidMoveBehavior ile sadece temel StackPanel aşağıdaki ItemsPanelTemplate kullanın: eklemem/öğeleri kaldırmak zamanFluidMoveBehavior tetikleniyor Geri navigasyon

<ItemsPanelTemplate x:Key="fancyListBoxItemsPanelTemplate"> 
    <StackPanel> 
     <Custom:Interaction.Behaviors> 
      <il:FluidMoveBehavior AppliesTo="Children"> 
       <il:FluidMoveBehavior.EaseX> 
        <ExponentialEase EasingMode="EaseInOut"/> 
       </il:FluidMoveBehavior.EaseX> 
       <il:FluidMoveBehavior.EaseY> 
        <ExponentialEase EasingMode="EaseInOut"/> 
       </il:FluidMoveBehavior.EaseY> 
      </il:FluidMoveBehavior> 
     </Custom:Interaction.Behaviors> 
    </StackPanel> 
</ItemsPanelTemplate> 

Bu iyi çalışır aynı ekranda iken . Animasyon mükemmel çalışıyor. Ancak, ana sayfamdan yeni bir sayfaya gittiğimde, geriye doğru gidersiniz, sıvı hareket animasyonu, tüm öğeler bir kerede eklenmiş gibi tetiklenir. Bu davranışı devre dışı bırakmanın herhangi bir yolu var, bu yüzden sadece liste gerçekten değiştiğinde animasyonu tetikler mi?

+1

Belirtilerinizi yeniden oluşturamıyorum. Ekranlar arasında gezinmek için hangi mekanizmayı kullanıyorsunuz? –

+0

Geri düğmesi veya GoBack() işlevi bu davranışı tetikler. FYI, ListBoxes bir PivotControl içinde PivotItems içinde barındırılmaktadır. Kullanıcı geri döndüğünde, düzen bir şekilde PivotControl tarafından geçersiz hale getiriliyor mu? Belki de bu davranışların tetiklenmesine neden oluyor? –

cevap

1

liste kutusu ile sayfaya gidin bu çünkü oluyor, tüm öğeleri eklemeye benzer yeniden oluşturulan liste kutusu en hangi bir kez tuns sıvı hareket tetiği ateşler. Mümkün olan (meşru olabilen) bir çözüm, biri diğeri davranışsız ve diğeri de olmayan iki özdeş ItemPanel şablonuna sahip olmaktır. Sayfaya ilk gittiğinizde, davranışı olan şablonu uygulayın. Daha sonra bunu davranışa sahip olanla değiştirin. Umarım yardımcı olur.

İlgili konular