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