Q107. XamDataGrid の内容を印刷時にプレビューを表示したい

A.Infragistics.Windows.Reporting.XamReportPreview を要素に持つ画面を呼び出せばプレビューを表示できます。


以下サンプルです。

// C#
using Infragistics.Windows.Reporting;

public partial class MainWindow : Window {

    private void Button_Click(Object sender, RoutedEventArgs e) {
        var reportObj = new Report();
        var section = new EmbeddedVisualReportSection(XamDataGrid1);
        reportObj.Sections.Add(section);

        var window = new PreviewWindow();
        window.Preview.GeneratePreview(reportObj, False, False);
        window.ShowDialog();
    }
}
' Visual Basic
Option Explicit On
Option Strict On

Imports Infragistics.Windows.Reporting

Public Class MainWindow

    Private Sub Button_Click(sender As Object, e As RoutedEventArgs)
        Dim reportObj = New Report()
        Dim section = New EmbeddedVisualReportSection(XamDataGrid1)
        reportObj.Sections.Add(section)

        Dim window = New PreviewWindow()
        window.Preview.GeneratePreview(reportObj, False, False)
        window.ShowDialog()
    End Sub
End Class


プレビュー画面のXAMLは以下のようになります。

<Window x:Class="PreviewWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:ig="http://schemas.infragistics.com/xaml" 
        xmlns:Custom="http://infragistics.com/Reporting" 
        Height="300" Width="300" WindowState="Maximized" >
    <Grid>
        <Custom:XamReportPreview x:Name="Preview" />
    </Grid>
</Window>


WPF FAQ の目次に戻る