private static void OnFixedDragChanged(DependencyObject obj, DependencyPropertyChangedEventArgs args) { TreeViewDragDropTarget tree = (TreeViewDragDropTarget)obj; //监听开始拖动事件,如果鼠标按下,才真正拖动 tree.ItemDragStarting += (o, e) => { if (!GetIsButtonDown(tree)) { e.Cancel = true; e.Handled = true; } }; //在鼠标按下及松开时,管理鼠标是否按下状态 tree.AddHandler(TreeView.MouseLeftButtonDownEvent, new MouseButtonEventHandler((o, e) => { SetIsButtonDown(tree, true); }), true); tree.AddHandler(TreeView.MouseLeftButtonUpEvent, new MouseButtonEventHandler((o, e) => { SetIsButtonDown(tree, false); }), true); }
public static void SetFixedDrag(TreeViewDragDropTarget ui, bool value) { ui.SetValue(FixedDragProperty, value); }
public static bool GetFixedDrag(TreeViewDragDropTarget ui) { return((bool)ui.GetValue(FixedDragProperty)); }
public static bool GetFixedDrag(TreeViewDragDropTarget ui) { return (bool)ui.GetValue(FixedDragProperty); }