Example #1
0
        void ReleaseDesignerOutlets()
        {
            if (SearchBox != null)
            {
                SearchBox.Dispose();
                SearchBox = null;
            }

            if (SelectedItemsListBox != null)
            {
                SelectedItemsListBox.Dispose();
                SelectedItemsListBox = null;
            }

            if (SelectItemsListBox != null)
            {
                SelectItemsListBox.Dispose();
                SelectItemsListBox = null;
            }

            if (SearchBoxCell != null)
            {
                SearchBoxCell.Dispose();
                SearchBoxCell = null;
            }
        }
        private void SelectedItemsListBox_Drop(object sender, DragEventArgs e)
        {
            _dragStart = null;
            var sourceData = (DragDropData)e.Data.GetData(typeof(DragDropData));

            if (sourceData == null)
            {
                e.Effects = DragDropEffects.None;
                e.Handled = true;
                return;
            }
            var    source   = sourceData.SourceControl;
            object sourceVM = (source == AvailableItemsListBox)
                           ? (DataContext as ConfigureColumnsAndSortOrderViewModel).AvailableColumns as object
                           : (DataContext as ConfigureColumnsAndSortOrderViewModel).SelectedColumns as object;

            ListBox parent   = sender as ListBox;
            object  targetVM = (parent == AvailableItemsListBox)
                           ? (DataContext as ConfigureColumnsAndSortOrderViewModel).AvailableColumns as object
                           : (DataContext as ConfigureColumnsAndSortOrderViewModel).SelectedColumns as object;
            var objectToPlaceBefore = GetObjectDataFromPoint(parent, e.GetPosition(parent)) as FieldMapperGridColumn;

            if (sourceData != null)
            {
                FieldMapperGridColumn showAvailable, showSelected;
                (DataContext as ConfigureColumnsAndSortOrderViewModel).DragDrop(sourceVM, sourceData.SourceItem, targetVM, objectToPlaceBefore, out showAvailable, out showSelected);

                if (showAvailable != null)
                {
                    AvailableItemsListBox.ScrollIntoView(showAvailable);
                    AvailableItemsListBox.SelectedItem = showAvailable;
                }
                if (showSelected != null)
                {
                    SelectedItemsListBox.ScrollIntoView(showSelected);
                    SelectedItemsListBox.SelectedItem = showSelected;
                }
            }
        }