1
基本上在樹形視圖中,我有一個項目列表,如果項目是「Group」類型的項目,那麼我可以添加/拖放項目到其中。在Silverlight Toolkit的TreeViewDragDropTarget中禁用刪除某些項目
我怎樣才能做到這一點的代碼?我試過的dragenter,dragover事件如果目標項目不是一組對象,但無濟於事AllowDrop屬性設置爲false。有什麼建議嗎?
乾杯
基本上在樹形視圖中,我有一個項目列表,如果項目是「Group」類型的項目,那麼我可以添加/拖放項目到其中。在Silverlight Toolkit的TreeViewDragDropTarget中禁用刪除某些項目
我怎樣才能做到這一點的代碼?我試過的dragenter,dragover事件如果目標項目不是一組對象,但無濟於事AllowDrop屬性設置爲false。有什麼建議嗎?
乾杯
你要設置爲無影響(或關閉複製/鏈接/更具體移動)。
編程這樣做的一個很好的例子是內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;
}
}