Q108. XamDataGrid の印刷時に余白や印刷方向を設定したい

A.Infragistics.Windows.Reporting.Report.ReportSettings プロパティを設定します。
なおReportSettings クラスのプロパティ一覧ですが、12.1以降のバージョンだとオンライン・オフラインともリングが切断されていて見当たりません。11.2 ならあるようなので、こちらか、ReportSettings クラスのメタデータもしくはオブジェクトブラウザのコメントを参考にしてください。


以下サンプルです。

// C#
using Infragistics.Windows.Reporting;

public partial class MainWindow : Window {

    private void Button_Click(Object sender, RoutedEventArgs e) {
        var reportObj = new Report();
        // 幅が広すぎて一枚に収まらない場合、収まるようスケールを変更
        reportObj.ReportSettings.HorizontalPaginationMode = HorizontalPaginationMode.Scale;
        // 上下左右すべての余白を24に統一
        reportObj.ReportSettings.Margin = new Thickness(24);
        // 横方向に印刷
        reportObj.ReportSettings.PageOrientation = PageOrientation.Landscape;

        var section = new EmbeddedVisualReportSection(XamDataGrid1);
        reportObj.Sections.Add(section);
        reportObj.Print();
    }
}
' 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()
        With reportObj.ReportSettings
            ' 幅が広すぎて一枚に収まらない場合、収まるようスケールを変更
            .HorizontalPaginationMode = HorizontalPaginationMode.Scale
            ' 上下左右すべての余白を24に統一
            .Margin = New Thickness(24)
            ' 横方向に印刷
            .PageOrientation = PageOrientation.Landscape
        End With

        Dim section = New EmbeddedVisualReportSection(XamDataGrid1)
        reportObj.Sections.Add(section)
        reportObj.Print()
    End Sub
End Class


WPF FAQ の目次に戻る