Index: /trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/ClassificationEnsembleSolutionView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/ClassificationEnsembleSolutionView.cs	(revision 10172)
+++ /trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/ClassificationEnsembleSolutionView.cs	(revision 10173)
@@ -47,4 +47,5 @@
         var droppedData = e.Data.GetData(HeuristicLab.Common.Constants.DragDropDataFormat);
         if (droppedData is IValueParameter) droppedData = ((IValueParameter)droppedData).Value;
+        else if (droppedData is IClassificationProblem) droppedData = ((IClassificationProblem)droppedData).ProblemData;
 
         ClassificationEnsembleProblemData ensembleProblemData = droppedData as ClassificationEnsembleProblemData;
Index: /trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/ClassificationSolutionView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/ClassificationSolutionView.cs	(revision 10172)
+++ /trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/ClassificationSolutionView.cs	(revision 10173)
@@ -43,5 +43,6 @@
 
       var dropData = e.Data.GetData(HeuristicLab.Common.Constants.DragDropDataFormat);
-      if (dropData is ClassificationProblemData) validDragOperation = true;
+      if (dropData is IClassificationProblemData) validDragOperation = true;
+      else if (dropData is IClassificationProblem) validDragOperation = true;
       else if (dropData is IValueParameter) {
         var param = (IValueParameter)dropData;
Index: /trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/ClusteringSolutionView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/ClusteringSolutionView.cs	(revision 10172)
+++ /trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/ClusteringSolutionView.cs	(revision 10173)
@@ -43,5 +43,6 @@
 
       var dropData = e.Data.GetData(HeuristicLab.Common.Constants.DragDropDataFormat);
-      if (dropData is ClusteringProblemData) validDragOperation = true;
+      if (dropData is IClusteringProblemData) validDragOperation = true;
+      else if (dropData is IClusteringProblem) validDragOperation = true;
       else if (dropData is IValueParameter) {
         var param = (IValueParameter)dropData;
Index: /trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/DataAnalysisSolutionView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/DataAnalysisSolutionView.cs	(revision 10172)
+++ /trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/DataAnalysisSolutionView.cs	(revision 10173)
@@ -197,7 +197,8 @@
       var dropData = e.Data.GetData(HeuristicLab.Common.Constants.DragDropDataFormat);
       if (dropData is DataAnalysisProblemData) validDragOperation = true;
+      else if (dropData is IDataAnalysisProblem) validDragOperation = true;
       else if (dropData is IValueParameter) {
         var param = (IValueParameter)dropData;
-        if (param.Value is DataAnalysisProblemData) validDragOperation = true;
+        if (param.Value is IDataAnalysisProblemData) validDragOperation = true;
       }
     }
@@ -206,7 +207,10 @@
       if (e.Effect != DragDropEffects.None) {
         var dropData = e.Data.GetData(HeuristicLab.Common.Constants.DragDropDataFormat);
-        if (dropData is DataAnalysisProblemData) {
+        if (dropData is IDataAnalysisProblemData) {
           DataAnalysisProblemData problemData = (DataAnalysisProblemData)dropData;
           Content.ProblemData = (DataAnalysisProblemData)problemData.Clone();
+        } else if (dropData is IDataAnalysisProblem) {
+          IDataAnalysisProblemData problemData = ((IDataAnalysisProblem)dropData).ProblemData;
+          Content.ProblemData = (IDataAnalysisProblemData)problemData.Clone();
         } else if (dropData is IValueParameter) {
           var param = (IValueParameter)dropData;
Index: /trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/RegressionEnsembleSolutionView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/RegressionEnsembleSolutionView.cs	(revision 10172)
+++ /trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/RegressionEnsembleSolutionView.cs	(revision 10173)
@@ -47,7 +47,8 @@
         var droppedData = e.Data.GetData(HeuristicLab.Common.Constants.DragDropDataFormat);
         if (droppedData is IValueParameter) droppedData = ((IValueParameter)droppedData).Value;
+        if (droppedData is IRegressionProblem) droppedData = ((IRegressionProblem)droppedData).ProblemData;
 
         RegressionEnsembleProblemData ensembleProblemData = droppedData as RegressionEnsembleProblemData;
-        RegressionProblemData problemData = droppedData as RegressionProblemData;
+        IRegressionProblemData problemData = droppedData as IRegressionProblemData;
         if (ensembleProblemData != null) {
           Content.ProblemData = (RegressionEnsembleProblemData)ensembleProblemData.Clone();
Index: /trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/RegressionSolutionView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/RegressionSolutionView.cs	(revision 10172)
+++ /trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/RegressionSolutionView.cs	(revision 10173)
@@ -43,5 +43,6 @@
 
       var dropData = e.Data.GetData(HeuristicLab.Common.Constants.DragDropDataFormat);
-      if (dropData is RegressionProblemData) validDragOperation = true;
+      if (dropData is IRegressionProblemData) validDragOperation = true;
+      else if (dropData is IRegressionProblem) validDragOperation = true;
       else if (dropData is IValueParameter) {
         var param = (IValueParameter)dropData;
Index: /trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/TimeSeriesPrognosisSolutionView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/TimeSeriesPrognosisSolutionView.cs	(revision 10172)
+++ /trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/TimeSeriesPrognosisSolutionView.cs	(revision 10173)
@@ -44,4 +44,5 @@
       var dropData = e.Data.GetData(HeuristicLab.Common.Constants.DragDropDataFormat);
       if (dropData is ITimeSeriesPrognosisProblemData) validDragOperation = true;
+      else if (dropData is ITimeSeriesPrognosisProblem) validDragOperation = true;
       else if (dropData is IValueParameter) {
         var param = (IValueParameter)dropData;
