Wpf – the best way to use a SSRS report viewer in a WPF application using MVVM


I have a WPF application using MVVM. I have some user controls that show some SSRS reports in a ReportViewer control hosted within a windows forms host control.

The User Control has a simple combobox where the user selects a criteria and therefore the report satisfying this criteria will be loaded, its data fetched from the database and then the report is shown to the user.

What is the best approach to implement such scenario in WPF using MVVM? Any samples are greatly appreciated

Best Solution

Look at this answer

He is creating the WindowsFormsHost and ReportViewer in the ViewModel

WindowsFormsHost windowsFormsHost = new WindowsFormsHost();
reportViewer = new ReportViewer();
windowsFormsHost.Child = reportViewer;
this.Viewer = windowsFormsHost

and then using a ContentPresenter to display it

<ContentPresenter Content="{Binding Viewer}" />
Related Question