İki WPF ağaç görünümü ile iki arasında sürükleyip bırakmaya izin veren bir programım var. Sorun şu ki, ağaç görüntülerini açmak/kapamak can sıkıcı olabilir, çünkü farenin sol tuşunu basılı tutarken fareyi hareket ettirmek sadece sürükle/bırak işlevini tetikler. Bir sürükle/bırak olarak kabul edilmeden önce farenin ne kadar hareket etmesi gerektiğini belirlemenin bir yolu var mı?WPF sürüklenme mesafesi eşiği
8
A
cevap
1
Sürüklemenin ne zaman başladığını belirleyen kodunuza küçük bir tampon oluşturun. bayrak fare aşağı
- - bu varsa evet, onun daha uzak belirttiğiniz ne olursa olsun tampon daha taşınmış olup olmadığını kontrol eğer .. aşağı fare için kontrol
- (3 piksel muhtemelen iyidir) sürüklemeyi başlat.
16
Bunun için bir sistem parametresi var. Eğer
Point down = {where mouse down event happened}
Point current = {position in the MouseMove eventargs}
varsa o zaman fare
Math.Abs(current.X - down.X) >= SystemParameters.MinimumHorizontalDragDistance ||
Math.Abs(current.Y - down.Y) >= SystemParameters.MinimumVerticalDragDistance)
0
Drag için this makalesinin ardından ve uygulanmasını Bırak eğer asgari sürükle mesafe taşındı, sürükleyerek geciktirmek için 2 fare olaylarını işlemek zorunda kalacak fare belli bir mesafeye gelene kadar. Öncelikle, kontrolünüze göre ilk fare konumunu kaydeden PreviewMouseDown için bir işleyici ekleyin. MouseDown olayını kullanmayın çünkü bu bir köpürme olayıdır ve kontrolünüze ulaşmadan önce bir çocuk kontrolü tarafından ele alınabilir.
İlgili konular
- 1. Sürüklerken Android'de sürüklenme gölgesi,
- 2. Opencv eşiği artırma doğruluğu
- 3. OCR: ağırlıklı Levenshtein mesafesi
- 4. Ters Levenshtein mesafesi
- 5. Three.js: PointLight değişiklik mesafesi
- 6. Python'da Düzenleme Mesafesi
- 7. Highcharts Pasta Tablosu Etiket Eşiği
- 8. LISTAGG eşdeğeri pencere eşiği ile
- 9. GTK3 ile özel pencere eşiği yazma
- 10. Eşiği kullanarak benzer HEX renklerini bulma
- 11. MongoDB iki nokta arasındaki baskı mesafesi
- 12. d3 kuvvet yönelimli düzen - bağlantı mesafesi önceliği
- 13. En Kısa Levenshtein Mesafesi? İhtiyacım var mı?
- 14. Önekler/ekler için Levenshtein mesafesi için alternatif
- 15. Levenshtein mesafesi C# sayım hata türü
- 16. En küçük Euclidean mesafesi olan noktaları belirleme
- 17. Google Haritalar'da sürüklenme ataletini/momentini devre dışı bırak V3
- 18. sklearn LogisticRegresyon ve sınıflandırma için varsayılan eşiği değiştirme
- 19. Dokunma olayları alırken hareket eşiği nasıl devre dışı bırakılır?
- 20. Polimer tarafından dinamik olarak oluşturulmuş öğe wokring (demir-kaydırma eşiği)
- 21. WPF: WPF uygulamasında WPF TextBox
- 22. WPF MouseLeftButtonUp WPF
- 23. NUMA sistemlerinde düğüm mesafesi (atlama sayısı) elde edin
- 24. Android camera2 API AF modunda netleme mesafesi elde edin
- 25. Python: Normal bir ağın Öklid mesafesi dağılımını nasıl hesaplarsınız?
- 26. IR lazer sensörü ile ölçüm mesafesi Nexus 6P ve 5X
- 27. Üç.js için arka görüş mesafesi eşdeğeri var mı?
- 28. WPF
- 29. WPF
- 30. WPF
bazı kod gönderebilir miyim:
Ayrıca, MouseMove taşındı mesafeyi kontrol etmek ve en sonunda sürükleme işlemini başlatmak için ele? – ChrisF