How to: Print a Map
- 2 minutes to read
To print a map, use one of the following methods.
- MapControl.ShowRibbonPrintPreview - invokes the Print Preview Form with the Ribbon bar;
- MapControl.ShowRibbonPrintPreviewDialog - invokes the modal Print Preview Form with the Ribbon bar;
- MapControl.ShowPrintPreview - invokes the Print Preview Form;
- MapControl.ShowPrintPreviewDialog - invokes the modal Print Preview Form;
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:dxp="http://schemas.devexpress.com/winfx/2008/xaml/printing"
xmlns:dxlc="http://schemas.devexpress.com/winfx/2008/xaml/layoutcontrol"
xmlns:dxm="http://schemas.devexpress.com/winfx/2008/xaml/map"
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
xmlns:local="clr-namespace:PrintingExporting"
x:Class="PrintingExporting.MainWindow"
Title="MainWindow" Height="600" Width="800">
<Window.Resources>
<ObjectDataProvider x:Key="PrintSizeValues" MethodName="GetValues"
ObjectType="{x:Type sys:Enum}">
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="dxm:MapPrintSizeMode" />
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
<ObjectDataProvider x:Key="PrintMethodValues" MethodName="GetValues"
ObjectType="{x:Type sys:Enum}">
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="local:PrintMetod"/>
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
</Window.Resources>
<Grid>
<dxlc:LayoutControl>
<dxlc:LayoutGroup Orientation="Vertical">
<dxlc:LayoutItem HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<dxm:MapControl Name="mapControl">
<dxm:MapControl.PrintOptions>
<dxm:MapPrintOptions SizeMode="{Binding SelectedItem, ElementName=cbPrintingSize}"/>
</dxm:MapControl.PrintOptions>
<dxm:ImageTilesLayer>
<dxm:ImageTilesLayer.DataProvider>
<dxm:BingMapDataProvider BingKey="Your Bing Key"/>
</dxm:ImageTilesLayer.DataProvider>
</dxm:ImageTilesLayer>
</dxm:MapControl>
</dxlc:LayoutItem>
<dxlc:LayoutGroup>
<dxlc:LayoutItem Label="Printing Size" AddColonToLabel="True">
<ComboBox x:Name="cbPrintingSize" SelectedIndex="0"
ItemsSource="{Binding Source={StaticResource PrintSizeValues}}"/>
</dxlc:LayoutItem>
<dxlc:LayoutItem Label="Print Method" AddColonToLabel="True">
<ComboBox x:Name="cbPrintingMethod" SelectedIndex="0"
ItemsSource="{Binding Source={StaticResource PrintMethodValues}}"/>
</dxlc:LayoutItem>
<dxlc:LayoutItem Width="100">
<Button Content="Print" Click="Button_Click"/>
</dxlc:LayoutItem>
</dxlc:LayoutGroup>
</dxlc:LayoutGroup>
</dxlc:LayoutControl>
</Grid>
</Window>