2010-09-16 19 views

cevap

44

"ScrollViewer şu anda iki kaydırma kiplerine olanak sağlamaktadır. Öğesi tarafından kaydırma zaman düz piksel-piksel kaydırma (CanContentScroll = yanlış) veya ayrı bir madde ile öğesi kaydırma (= gerçek CanContentScroll) Bulunduğu WPF tek arayüz sanallaştırma destekleyen Piksel tabanlı kaydırma, “fiziksel kaydırma” olarak da adlandırılır ve öğe tabanlı kaydırma da “mantıksal kaydırma” olarak adlandırılır. onların ise mantığın birimlerinin ama sadece piksel oranının kavramı kaydırma tabanlı piksele ScrollViewer ayarlanıyor ... şu anda görünümde mantıksal birimler (madde) takip edebilirsiniz böylece

Sanallaştırma madde tabanlı kaydırma gerektirir !! !

5

UI Virtualization

bu sınırlamasını aşmak için bir yol olup olmadığını sık sık sorulan ediyorum

. Eh, her şey mümkündür, ancak kolay bir geçici çözüm yoktur. UI sanallaştırması ile piksel tabanlı kaydırmayı birleştirmek için mevcut sanallaştırma mantığının önemli bölümlerini yeniden uygulamanız gerekir. Bununla birlikte gelen bazı ilginç problemleri de çözmek zorunda kalacaksınız. Örneğin, öğe kapları farklı yüksekliklerde olduğunda baş parmağının boyutunu nasıl hesaplarsınız? (Sanallaştırılmış kapların yüksekliğini bilmediğinizi unutmayın - sadece şu anda görüntülenen kapların yüksekliğini bilirsiniz.) Bildiğiniz yüksekliklere göre bir ortalama varsayabilir veya bir listeyi Öğeler olarak öğe yükseklikleri belleğe getirilir (bu, kullanıcının denetim ile etkileşim kurmasıyla başparmak boyutunun doğruluğunu artıracaktır). Ayrıca piksel tabanlı kaydırmanın yalnızca aynı yükseklikteki öğelerle çalıştığına karar verebilirsiniz - bu, çözümü basitleştirir. Evet, bu sınırlamayı aşmak için bir çözüm bulabilirsin, ama önemsiz değil.

İlgili konular