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