diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/WPF/WPFReportPreview.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/WPF/WPFReportPreview.cs
index 7b65e54462..49ddb8347a 100644
--- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/WPF/WPFReportPreview.cs
+++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/WPF/WPFReportPreview.cs
@@ -25,7 +25,7 @@ namespace ICSharpCode.Reports.Addin.Project.WPF
ReportDesignerLoader designerLoader;
IWpfReportViewer viewer = new WpfReportViewer();
- IPreviewModel viewmodel = new PreviewModel();
+ IPreviewModel exportRunner = new ExportRunner();
public WPFReportPreview(ReportDesignerLoader loader,IViewContent content):base(content)
{
@@ -47,11 +47,11 @@ namespace ICSharpCode.Reports.Addin.Project.WPF
switch (model.DataModel)
{
case GlobalEnums.PushPullModel.FormSheet : {
- viewmodel.RunReport(model,(ReportParameters)null);
+ exportRunner.RunReport(model,(ReportParameters)null);
break;
}
case GlobalEnums.PushPullModel.PullData:{
- viewmodel.RunReport(model,(ReportParameters)null);
+ exportRunner.RunReport(model,(ReportParameters)null);
break;
}
case GlobalEnums.PushPullModel.PushData:
@@ -59,19 +59,16 @@ namespace ICSharpCode.Reports.Addin.Project.WPF
var cmd = new DataSetFromXsdCommand();
cmd.Run();
System.Data.DataSet ds = cmd.DataSet;
- viewmodel.RunReport(model,ds.Tables[0],(ReportParameters)null);
+ exportRunner.RunReport(model,ds.Tables[0],(ReportParameters)null);
break;
}
default:
throw new InvalidReportModelException();
}
- FixedDocumentRenderer renderer = FixedDocumentRenderer.CreateInstance(model.ReportSettings,viewmodel.Pages);
-
- renderer.Start();
- renderer.RenderOutput();
- renderer.End();
- viewer.Document = renderer.Document;
+ PreviewViewModel pvm = new PreviewViewModel (model.ReportSettings,exportRunner.Pages);
+ //viewer.Document = pvm.Document;
+ viewer.SetBinding(pvm);
}
diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj
index 7bb12dee2c..e9df2410ab 100644
--- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj
+++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/ICSharpCode.Reports.Core.csproj
@@ -367,11 +367,12 @@
ReportViewer.cs
+
WpfReportViewer.xaml
Code
-
+
diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/PreviewModel.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/ExportRunner.cs
similarity index 98%
rename from src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/PreviewModel.cs
rename to src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/ExportRunner.cs
index 43e609d768..4680482262 100644
--- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/PreviewModel.cs
+++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/ExportRunner.cs
@@ -16,9 +16,9 @@ namespace ICSharpCode.Reports.Core.WpfReportViewer
///
/// Description of WpfReportViewModel.
///
- public class PreviewModel:IPreviewModel
+ public class ExportRunner:IPreviewModel
{
- public PreviewModel()
+ public ExportRunner()
{
Pages = new PagesCollection();
}
diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/PreviewViewModel.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/PreviewViewModel.cs
new file mode 100644
index 0000000000..4537b98e60
--- /dev/null
+++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/PreviewViewModel.cs
@@ -0,0 +1,63 @@
+/*
+ * Created by SharpDevelop.
+ * User: Peter Forstmeier
+ * Date: 08.06.2011
+ * Time: 19:41
+ *
+ * To change this template use Tools | Options | Coding | Edit Standard Headers.
+ */
+using System;
+using System.ComponentModel;
+using System.Windows.Documents;
+
+using ICSharpCode.Reports.Core.Exporter.ExportRenderer;
+
+namespace ICSharpCode.Reports.Core.WpfReportViewer
+{
+ ///
+ /// Description of PreviewViewModel.
+ ///
+ public class PreviewViewModel:INotifyPropertyChanged
+ {
+
+ private IDocumentPaginatorSource document;
+
+ public PreviewViewModel(ReportSettings reportSettings, PagesCollection pages)
+ {
+ this.Pages = pages;
+ FixedDocumentRenderer renderer = FixedDocumentRenderer.CreateInstance(reportSettings,Pages);
+
+ renderer.Start();
+ renderer.RenderOutput();
+ renderer.End();
+ OnNotifyPropertyChanged("Pages");
+ this.Document = renderer.Document;
+
+ }
+
+
+ public PagesCollection Pages {get;private set;}
+
+
+ public IDocumentPaginatorSource Document
+ {
+ get {return document;}
+ set {
+ this.document = value;
+ OnNotifyPropertyChanged ("Document");
+ }
+
+
+ }
+
+
+ public event PropertyChangedEventHandler PropertyChanged;
+
+ void OnNotifyPropertyChanged(string num0)
+ {
+ if (PropertyChanged != null) {
+ PropertyChanged(this,new PropertyChangedEventArgs(num0));
+ }
+ }
+ }
+}
diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/WpfReportViewer.xaml b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/WpfReportViewer.xaml
index 11128612d6..7672ac7e6c 100644
--- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/WpfReportViewer.xaml
+++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/WpfReportViewer.xaml
@@ -1,12 +1,17 @@
+ x:Class="ICSharpCode.Reports.Core.WpfReportViewer.WpfReportViewer"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
+
-
+ VerticalAlignment="Stretch">
+
\ No newline at end of file
diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/WpfReportViewer.xaml.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/WpfReportViewer.xaml.cs
index 69755aac91..4ee40f8fc9 100644
--- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/WpfReportViewer.xaml.cs
+++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/WpfReportViewer/WpfReportViewer.xaml.cs
@@ -8,6 +8,7 @@
*/
using System;
using System.Collections.Generic;
+using System.ComponentModel;
using System.Text;
using System.Windows;
using System.Windows.Controls;
@@ -26,6 +27,7 @@ namespace ICSharpCode.Reports.Core.WpfReportViewer
public interface IWpfReportViewer
{
IDocumentPaginatorSource Document {set;}
+ void SetBinding (PreviewViewModel model);
}
///
/// Interaction logic for WpfReportViewer.xaml
@@ -38,12 +40,16 @@ namespace ICSharpCode.Reports.Core.WpfReportViewer
InitializeComponent();
}
+ public void SetBinding (PreviewViewModel model)
+ {
+ this.DataContext = model;
+ }
+
public IDocumentPaginatorSource Document {
set {
this.DocumentViewer.Document = value;
}
}
-
}
}
\ No newline at end of file