バージョン

コンテンツをページの上側に揃える

レポートを印刷するとき、 EmbeddedVisualReportSection オブジェクトはページ上のコンテンツを自動的に中央揃えします。コンテンツをページの上側に配置したい場合は、それを行う DataTemplate を作成する必要があります。

Report オブジェクトと EmbeddedVisualReportSection オブジェクトのどちらも、ページのコンテンツ レイアウトを決定する PageContentTemplate プロパティを公開します。Report オブジェクトの PageContentTemplate プロパティを設定する場合、データ テンプレートはレポート全体に影響を与えます。ただし、EmbeddedVisualReportSection オブジェクトの PageContentTemplate プロパティも設定する場合は、特定のセクションにのみ影響を与えます。

レポート内のコンテンツの配置は、2 つの手順からなる処理です。

  1. XAML で基本 DataTemplate オブジェクトを作成します。

  2. DataTemplate オブジェクトを Report オブジェクトまたは EmbeddedVisualReportSection オブジェクトの PageContentTemplate プロパティに割り当てます。

以下のコード例は、データ テンプレートを使用してページの上側にコンテンツを配置する方法を示します。この XAML は基本的な DataTemplate オブジェクトを作成し、プロシージャ コードはそれを Report オブジェクトの PageContentTemplate プロパティに割り当てます。このコード例は、report1 という名前の Report オブジェクトをすでに持っていることを前提とします。

XAML の場合:

<Window.Resources>
    <DataTemplate x:Key="basicContentTemplate">
        <Grid HorizontalAlignment="Left" VerticalAlignment="Top">
            <ContentPresenter Content="{TemplateBinding Content}" />
        </Grid>
    </DataTemplate>
</Window.Resources>

Visual Basic の場合:

' リソースを検索し、DataTemplate にキャストします。
report1.PageContentTemplate = TryCast(Me.TryFindResource("basicContentTemplate"), DataTemplate)

C# の場合:

// リソースを検索し、DataTemplate にキャストします。
report1.PageContentTemplate = this.TryFindResource("basicContentTemplate") as DataTemplate;