1
我正在构建一个自定义控件,该控件允许我在控件之间拖放。我遵循This,直到我想要允许多种类型,我一直在那里。因此,我可能希望在客户表单中使用此工具,并在两个客户ListViews
或Employee
表单之间拖动,并在两个员工表单之间拖动。在ListView项中获取泛型类型
由于某些原因,我无法投射为Type
。请解释我出错的地方以及为什么。谢谢!
private void OnMouseMove(object sender, MouseEventArgs e)
{
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)
{
if (ListView != null)
{
ListViewItem listViewItem =
FindAnchestor<ListViewItem>((DependencyObject) e.OriginalSource);
Type itemType = ListView.ItemContainerGenerator.ItemFromContainer(listViewItem).GetType();
var item = (itemType)ListView.ItemContainerGenerator.ItemFromContainer(listViewItem);
}
}
}
感谢您的答复,我认为我应该检查在下降,它是同一类型?如果是这样,我该怎么做? – JamTay317
@ JamTay317:与什么类型相同? – Heinzi
我想确保我拖动的列表视图(可以说itemSource IEnumerable)和我拖动到的listView有一个ItemSource IEnumerable 而不是IEnumerable –
JamTay317