private void lvButtons_TextBlock_Drop(object sender, DragEventArgs e)
 {
     if (e.Data.GetDataPresent("WPFDragDrop.Model.ItemModel"))
     {
         var           data     = e.Data.GetData("WPFDragDrop.Model.ItemModel");
         var           itemData = (ItemModel)data;
         CategoryModel category = (CategoryModel)(((TextBlock)sender).DataContext);
         //If same category and have not been added already, show Copy, otherwise show "block".
         if (category.MatchesAll || category.Matches.Contains(itemData.GroupName))
         {
             category.Drop(itemData);
             e.Handled = true;
             this.BottomHoverText.Text = "";
             dragSource = null;
         }
         else
         {
             e.Effects  = DragDropEffects.None;
             e.Handled  = true;
             dragSource = null;
         }
     }
 }