2009-11-25 20 views
7

Çok fazla veriyi gösteren WPF ListBox kullanıyorum. Düzgün kaydırmaya ihtiyacım var, bu yüzden sanallaştırmayı devre dışı bırakan False'ye ListBox.ScrollViewer.CanContentScroll ayarlıyorum. Şimdi, bu ListBox'un bulunduğu sekmeyi açtığımda, ListBox öğelerin/oluşturmanın yüklenmesi/oluşturması nedeniyle birkaç saniyeliğine hiçbir şey göremiyorum. Ayrıca, uygulamanın çalıştığını ve kullanıcının biraz beklemesi gerektiğini gösteren bir animasyon gösteren bir kontrolüm var.Denetim oluştururken bazı animasyonlar nasıl gösterilir?

ListBox kullanılabilir değilken bu denetimi nasıl gösterebilirim? farklı senaryo olsa belki size yardımcı olabilir bu uygulama yazarı kodu aracılığıyla nasıl yaptığını

+0

belki daha fazla ayrıntı yararlı olur mu? Ne tür bir dil ve çerçeve içinde çalışıyorsunuz gibi şeyler ... "ListBox" gibi maalesef terimler pek çok yerde kullanılıyor. – Paul

+0

WPF ile etiketlendi. – GraemeF

+0

Listede kaç tane ürün var? –

cevap

2

Liste kutunuzun bulunduğu yere bir Grid ekleyin ve ListBox'unuzu ve animasyon kontrolünüzün içine yerleştirin. Bu şekilde aynı yere yerleştirilirler. Animasyon kontrolü, z sırasının üstünde olmalı ve görüntülenecektir. ListBox yüklemeyi bitirdiğinde animasyon kontrolünü gizlersiniz ve bunun yerine ListBox bunu gösterir. Başka uzun bir işlem gerçekleştirmeniz gerektiğinde, animasyon kontrolünü tekrar görünür hale getirin.

+2

Bu liste kutusu zaten oluşturulmuş nasıl belirlenir? Ve render, "animates" animasyonuyla aynı thread'da gerçekleştirilir, bu yüzden herhangi bir etki olmayacaktır. Yoksa haklı değil miyim? Zaten bu tekniği kullanıyorum, ancak uzun bir arka plan (başka bir iş parçacığında çalışır) işlemi (GUI olmayan) olduğunu göstermeye ihtiyacım olduğunda. – levanovd