To change the layout of the page with Blend:
- Right click on the map printer control
- Select 'Edit Template'
- Select 'Edit a Copy'
- Accept the creation of the new style
- You can now change the page layout
Basically, the template property in XAML looks by default like this:
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="controls:MapPrinter">
<Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="0">
<Border Padding="{TemplateBinding Padding}" Background="{TemplateBinding Background}" Margin="0">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition />
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<!-- Header -->
<TextBlock Text="{Binding PrintDocumentName}" HorizontalAlignment="Center" FontSize="12" Grid.Row="0"
Visibility="{Binding PrintDocumentName, Converter={StaticResource toVisibility}}"/>
<!-- Body-->
<Grid Grid.Row="1">
<!-- Map-->
<esri:Map x:Name="PrintMap" IsLogoVisible="False" />
<!-- Scale Bar -->
<esri:ScaleBar Map="{Binding ElementName=PrintMap}" HorizontalAlignment="Left" VerticalAlignment="Bottom" Margin="20,0,0,10" Grid.Row="1" TextColor="Black"/>
</Grid>
<!-- Footer -->
<TextBlock HorizontalAlignment="Left" VerticalAlignment="Bottom" Grid.Row="2"
Text="{Binding Now, StringFormat='Printed \{0:d\} '}" />
<TextBlock HorizontalAlignment="Center" VerticalAlignment="Bottom" Grid.Row="2"
Text="{Binding Scale, StringFormat='1 : \{0:F0\} '}" />
<StackPanel HorizontalAlignment="Right" VerticalAlignment="Bottom" Orientation="Horizontal" Grid.Row="2">
<TextBlock Text="{Binding CurrentPage, StringFormat='Page \{0\} '}" />
<TextBlock Text="{Binding PageCount, StringFormat=/ \{0\}}" />
</StackPanel>
</Grid>
</Border>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
By changing this template, you will change the layout of the page.