0
我是WPF中的新手,我試圖用旋轉木馬做拖放操作。WPF拖放旋轉木馬
首先,我看到了一個listview的例子。例如:http://wpftutorial.net/DragAndDrop.html,我試過了,它是正確的。
但是我的問題是,當我想要使用旋轉木馬時,我不知道當我點擊要移動的元素時選中的項目。在這個例子中是這樣的功能:
private void List_MouseMove(object sender, MouseEventArgs e)
{
// Get the current mouse position
Point mousePos = e.GetPosition(null);
Vector diff = startPoint - mousePos;
if (e.LeftButton == MouseButtonState.Pressed &&
Math.Abs(diff.X) > SystemParameters.MinimumHorizontalDragDistance ||
Math.Abs(diff.Y) > SystemParameters.MinimumVerticalDragDistance)
{
// Get the dragged ListViewItem
ListView listView = sender as ListView;
ListViewItem listViewItem =
FindAnchestor<ListViewItem>((DependencyObject)e.OriginalSource);
// Find the data behind the ListViewItem
Contact contact = (Contact)listView.ItemContainerGenerator.
ItemFromContainer(listViewItem);
// Initialize the drag & drop operation
DataObject dragData = new DataObject("myFormat", contact);
DragDrop.DoDragDrop(listViewItem, dragData, DragDropEffects.Move);
}
}
I'm在XAML文件中使用此代碼:
<dxca:CarouselItemsControl x:Name="_carouselName"
PreviewMouseLeftButtonDown="List_PreviewMouseLeftButtonDown"
PreviewMouseMove="List_MouseMove" >
我需要讓我想拖動對象,在本例中是接觸。
// Find the data behind the ListViewItem
Contact contact = (Contact)listView.ItemContainerGenerator.ItemFromContainer(listViewItem);
任何想法?
,您使用的ListBox和ListBoxItem的是他的項目,但I'm使用旋轉木馬和我的旋轉木馬的物品都是我創建的對象。當我嘗試使用GetParentOfType()我有一個錯誤。無法轉換爲dependency.object。 –
user1253414