private void lstBox_Drop(object sender, DragEventArgs e)
 {
     DragDropData data = e.Data.GetData(typeof(DragDropData)) as DragDropData;
     if (!tasks.Any(x => x == data.ActualData.ToString()))
     { 
         Tasks.Add(data.ToString());
     }
     var a =  data.DragStartSource;
     if (a != tasks)
     { 
         a.Remove(data.ToString());
     }            
 }
        private void lstBox_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            try
            {
                ListBox parent = (ListBox)sender;
                dragSource = parent;
                object data = GetDataFromListBox(dragSource, e.GetPosition(parent));            
                if (data != null)
                {
                    var dragDropData = new DragDropData
                    {
                        ActualData = data,
                        DragStartSource = tasks
                    };

                    DragDrop.DoDragDrop(parent, dragDropData, DragDropEffects.Move);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }