Çoğu WPF geliştiricisinin bildiği gibi, ScrollViewer.CanContentScroll
ayarının false
sanallaştırmayı devre dışı bırakır; ama nasıl çalıştığını bilmek isterim, çünkü ScrollViewer.CanContentScroll
değerini false
olarak ayarlarken sanallaştırmayı etkinleştirmeye çalışıyorum.neden ScrollViewer.CanContentScroll öğesinin false'i devre dışı bırakma sanallaştırmasına neden oluyor
cevap
"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 !! !
. 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.
- 1. TinyMCE devre dışı bırakma devre dışı bırakma
- 2. ListView öğesinin odağını devre dışı bırakma ListView
- 3. Bir UIButton'u solmaya neden olmadan devre dışı bırakma
- 4. Taşımacıyı devre dışı bırakma
- 5. UIPickerView devre dışı bırakma
- 6. Devre Dışı Bırakma CodeRush
- 7. CollapsingToolbarLayout'u devre dışı bırakma
- 8. Xcode'ta neden çarpan devre dışı?
- 9. Django/mod_WSGI Sayfası Önbelleği Devre Dışı Bırakma
- 10. insertRowsAtIndexPaths neden her zaman TableView'ın en üste gelmesine neden oluyor?
- 11. GetAttribute ("devre dışı") neden "doğru" değil "devre dışı" döndürüyor?
- 12. ListView'ü Devre Dışı Bırakma ViewPager
- 13. Yerel olarak devre dışı bırakma
- 14. Grails eklentisini devre dışı bırakma
- 15. smarty bildirimini devre dışı bırakma
- 16. VB6: Devre dışı bırakma varyantları
- 17. TabLayout'taki Sekmeleri Devre Dışı Bırakma
- 18. ListView'da Dalgalanmayı Devre Dışı Bırakma
- 19. Formunu devre dışı bırakma Düğmesi
- 20. HikariPool günlüğünü devre dışı bırakma
- 21. Marketplace'i Eclipse'den Devre Dışı Bırakma
- 22. Kopyalama devre dışı bırakma dojo.dnd
- 23. CSS kurallarını devre dışı bırakma
- 24. Web sayfası öğelerini devre dışı bırakma
- 25. Uygulamanın yürütülmesi sırasında IntelliTrace'i devre dışı bırakma
- 26. Blender'ı açarken ekranı devre dışı bırakma
- 27. Devre dışı bırakma listesinde devre dışı bırakılan öğe
- 28. OpenCL'de OpenCL'yi tamamen devre dışı bırakma
- 29. Neden DragHandler exportAsDrag MouseMotionListener'ı devre dışı bırakıyor?
- 30. Modern tarayıcılarda neden pipelleme devre dışı bırakılır?