Bir süredir Bea'nun çözümü here ile çalışıyorum ve çok yararlı buluyorum. Sorun şu andaki öğeleri sürüklediğimde veya başka bir ListView denetimini düşürdüğümde ve sürükle (kaydırma sırasında bir öğe (indeks 30'dan dizin 1'e geçerken) yukarı/aşağı kaydırmak istediğimde, bu gerçekleşmiyor. ListView'deki görsel öğelerin üstüne sürüklenmeli, el ile yukarı kaydırmalı, sonra tekrar sürüklemeliyim, sonunda istediğim konuma son vermeliyim. Bu çok kullanıcı dostu değil.WPF ListView Databound Sürükle/Bırak Otomatik Kaydırma
Şimdi hangi öğenin sürüklendiğini test etmek istediğimi (DragDropHelper.DropTarget_PreviewDragOver) işlevi buldum ve bunu alıyorum.
Dim pt As Point = e.GetPosition(DirectCast(Me.targetItemsControl, UIElement))
' Perform the hit test against a given portion of the visual object tree.
Dim result As HitTestResult = VisualTreeHelper.HitTest(Me.targetItemsControl, pt)
Şimdi oradan bir Listviewıtem 'ın bu görsel isabet
Dim lvi As ListViewItem = TryCast(GetDependencyObjectFromVisualTree(TryCast(result.VisualHit, DependencyObject), GetType(ListViewItem)), ListViewItem)
ait DependencyProperty alabilirsiniz. Şimdi DropTarget_PreviewDragOver fonksiyonunda Bea'nın örneğindeki tip Picture olan "DraggedItem" var, ancak ListView'e bağlı olan ObservableCollection'a bağlı olarak değişebilir. Şimdi, farenin denetimde olduğu yere bağlı olarak ListView'ı yukarı veya aşağı sürüklemek istiyorum. Birlikte teşebbüs ettik aşağıda un mamul olmayan çalışma kod
If lvi IsNot Nothing Then
If pt.Y <= 25 Then
Dim lv As ListView = TryCast(targetItemsControl, ListView)
If lv IsNot Nothing Then
Dim index As Integer = lv.Items.IndexOf(lvi)
If index > 1 Then
lv.ScrollIntoView(lv.Items(index - 1))
End If
End If
Else
If pt.Y >= Me.targetItemsControl.ActualHeight - 25 Then
Debug.Print("Scroll Down")
End If
End If
End If
birisi öğeleri üzerinde sürüklerken kaydırmak için bu ItemsControl veya ListView almak için doğru yönde işaret edebilir ??
Teşekkürler!
Merhaba, Bir çözüm buldunuz mu? Alkışlar –
Üzgünüm, hala buna bakmak için zamanım olmadı. Gönderinden beri bir şeye rastladın mı? – ScottN