2010-11-03 34 views
1

基本上在樹形視圖中,我有一個項目列表,如果項目是「Group」類型的項目,那麼我可以添加/拖放項目到其中。在Silverlight Toolkit的TreeViewDragDropTarget中禁用刪除某些項目

我怎樣才能做到這一點的代碼?我試過的dragenter,dragover事件如果目標項目不是一組對象,但無濟於事AllowDrop屬性設置爲false。有什麼建議嗎?

乾杯

回答

2

你要設置爲無影響(或關閉複製/鏈接/更具體移動)。

編程這樣做的一個很好的例子是內TreeViewDragDropTarget本身,因爲它包含的邏輯同樣禁止,如果你想在自己拖動項目。

http://silverlight.codeplex.com/SourceControl/changeset/view/56962#779753

相關片段:

 if (itemsControl == null || IsTreeViewItemDraggedInDescendent(args) || IsTreeViewItemDraggedDirectlyAboveOrBelowSelf(args)) 
     { 
      SW.DragDropEffects effects = args.AllowedEffects & (~(SW.DragDropEffects.Copy | SW.DragDropEffects.Link | SW.DragDropEffects.Move)); 
      args.Effects = effects; 
      if (args.Effects != args.AllowedEffects) 
      { 
       args.Handled = true; 
      } 
     } 
相關問題