Index: /trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/ProblemDataView.Designer.cs
===================================================================
--- /trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/ProblemDataView.Designer.cs	(revision 8592)
+++ /trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/ProblemDataView.Designer.cs	(revision 8593)
@@ -27,4 +27,11 @@
       ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).BeginInit();
       this.SuspendLayout();
+      // 
+      // parameterCollectionView
+      // 
+      this.parameterCollectionView.AllowDrop = true;
+      this.parameterCollectionView.DragDrop += new System.Windows.Forms.DragEventHandler(this.parameterCollectionView_DragDrop);
+      this.parameterCollectionView.DragEnter += new System.Windows.Forms.DragEventHandler(this.parameterCollectionView_DragEnterOver);
+      this.parameterCollectionView.DragOver += new System.Windows.Forms.DragEventHandler(this.parameterCollectionView_DragEnterOver);
       // 
       // nameTextBox
Index: /trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/ProblemDataView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/ProblemDataView.cs	(revision 8592)
+++ /trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/ProblemDataView.cs	(revision 8593)
@@ -20,6 +20,11 @@
 #endregion
 
+using System;
+using System.Linq;
+using System.Text;
 using System.Windows.Forms;
+using HeuristicLab.Core;
 using HeuristicLab.Core.Views;
+using HeuristicLab.Data;
 using HeuristicLab.MainForm;
 using HeuristicLab.MainForm.WindowsForms;
@@ -39,5 +44,5 @@
     }
 
-    private void FeatureCorrelationButton_Click(object sender, System.EventArgs e) {
+    protected void FeatureCorrelationButton_Click(object sender, System.EventArgs e) {
       ViewHost viewHost = new ViewHost();
       viewHost.Content = (DataAnalysisProblemData)this.Content.Clone();
@@ -45,4 +50,56 @@
       viewHost.Show();
     }
+
+    protected void parameterCollectionView_DragDrop(object sender, DragEventArgs e) {
+      if (e.Effect != DragDropEffects.None) {
+        var stringValueList = (e.Data.GetData(HeuristicLab.Common.Constants.DragDropDataFormat) as IFixedValueParameter).Value as ICheckedItemList<StringValue>;
+        SetInputVariables(stringValueList);
+      }
+    }
+
+    private void SetInputVariables(ICheckedItemList<StringValue> stringValueList) {
+      var inputVariables = Content.InputVariables;
+      var stringValues = stringValueList.Select(x => x.Value);
+      var notContainedVariables = inputVariables.Where(x => !stringValues.Contains(x.Value));
+
+      if (notContainedVariables.Count() != 0) {
+        StringBuilder strBuilder = new StringBuilder();
+        foreach (var variable in notContainedVariables) {
+          strBuilder.Append(variable.Value + ", ");
+        }
+        strBuilder.Remove(strBuilder.Length - 2, 2);
+        MessageBox.Show(String.Format("There was an error while changing the input variables. The following input " +
+          "variables have not been contained {0}", strBuilder.ToString()), "Error while changing the input variables",
+          MessageBoxButtons.OK, MessageBoxIcon.Warning);
+      } else {
+        var checkedItems = stringValueList.CheckedItems.Select(x => x.Value.Value);
+        var setChecked = inputVariables.Where(x => checkedItems.Contains(x.Value));
+        foreach (var variable in inputVariables) {
+          if (setChecked.Contains(variable) && !inputVariables.ItemChecked(variable)) {
+            inputVariables.SetItemCheckedState(variable, true);
+          } else if (!setChecked.Contains(variable) && inputVariables.ItemChecked(variable)) {
+            inputVariables.SetItemCheckedState(variable, false);
+          }
+        }
+      }
+    }
+
+    protected void parameterCollectionView_DragEnterOver(object sender, DragEventArgs e) {
+      e.Effect = DragDropEffects.None;
+      if (ReadOnly)
+        return;
+      if (e.Data.GetData(HeuristicLab.Common.Constants.DragDropDataFormat) == null)
+        return;
+
+      var parameter = e.Data.GetData(HeuristicLab.Common.Constants.DragDropDataFormat) as IFixedValueParameter;
+      if (parameter == null)
+        return;
+
+      var stringValueList = parameter.Value as ICheckedItemList<StringValue>;
+      if (stringValueList == null)
+        return;
+
+      e.Effect = e.AllowedEffect;
+    }
   }
 }
