我的WPF應用程序中有TreeView
和Canvas
。我試圖實現功能,用戶可以拖動一個TreeViewItem,當用戶在畫布上放下時,應該調用一個方法,將TreeViewItem頭作爲參數傳遞給此方法。在WPF中拖放和刪除
這是我迄今所做的:
private void TreeViewItem_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
if (e.Source.GetType().Name.Equals("TreeViewItem"))
{
TreeViewItem item = (TreeViewItem)e.Source;
if (item != null)
{
DataObject dataObject = new DataObject();
dataObject.SetData(DataFormats.StringFormat, item.Header.ToString());
DragDrop.DoDragDrop(item, dataObject, DragDropEffects.Copy);
}
}
}
當我拖放到畫布上沒有任何反應。因此我不確定接下來應該做什麼。我覺得這個東西很小,但我很茫然。我如何調用該方法並檢測標題已被刪除?
任何想法?
是您的AllowDrop屬性設置爲true? – swabs
是的,只是編輯了問題:) –
你可以發佈一些代碼,顯示你的Canvas和TreeView的標記和代碼隱藏嗎?你應該有一些拖放事件處理程序。那些被提出? –