Back to Devexpress

MapPie Class

wpf-devexpress-dot-xpf-dot-map-ee5567d7.md

latest6.2 KB
Original Source

MapPie Class

The class used to draw a pie chart on a map.

Namespace : DevExpress.Xpf.Map

Assembly : DevExpress.Xpf.Map.v25.2.dll

NuGet Package : DevExpress.Wpf.Map

Declaration

csharp
public class MapPie :
    MapChartItemBase,
    IMapChartItem,
    IMapChartDataItem,
    IMapValueDataItem,
    IMapDataItem,
    IMapContainerDataItem,
    IClusterItem,
    IClusterItemCore,
    IClusterable
vb
Public Class MapPie
    Inherits MapChartItemBase
    Implements IMapChartItem,
               IMapChartDataItem,
               IMapValueDataItem,
               IMapDataItem,
               IMapContainerDataItem,
               IClusterItem,
               IClusterItemCore,
               IClusterable

The following members return MapPie objects:

Remarks

The following image shows an example of a map pie chart.

Examples

The following markup shows how to draw a sample pie chart on a map:

xaml
<Window
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:DXMapExample"
        xmlns:dxm="http://schemas.devexpress.com/winfx/2008/xaml/map" 
        x:Class="DXMapExample.MainWindow"
        mc:Ignorable="d"
        Title="MainWindow" Height="800" Width="800">
    <Grid>
            <dxm:MapControl>
                <!-- Create a background image layer if necessary. -->
                <dxm:ImageLayer>
                    <dxm:BingMapDataProvider BingKey="Insert your Bing Key." 
                                             Kind="RoadLight"/>
                </dxm:ImageLayer>

                <!-- Add a vector layer that will store map pies. -->
                <dxm:VectorLayer>
                    <dxm:MapItemStorage x:Name="mapItemStorage">
                        <dxm:MapPie Location="48.8566, 2.3522" 
                                    HoleRadiusPercent="50" 
                                    Size="30" 
                                    RotationAngle="90">
                            <dxm:MapPie.Segments>
                                <dxm:PieSegment Value="20" Fill="Red" SegmentId="2"/>
                                <dxm:PieSegment Value="30" Fill="Green" SegmentId="0"/>
                                <dxm:PieSegment Value="50" Fill="Yellow" SegmentId="1"/>
                            </dxm:MapPie.Segments>
                        </dxm:MapPie>
                        <!-- Add other items here. -->
                    </dxm:MapItemStorage>
                </dxm:VectorLayer>
            </dxm:MapControl>
    </Grid>
</Window>

The example below shows how to create a pie chart and add it to a map in code:

csharp
using System.Windows;
using System.Windows.Media;
using DevExpress.Xpf.Map;

namespace DXMapExample {

        private void Window_Loaded(object sender, RoutedEventArgs e) {
            MapPie mapPie = new MapPie();

            mapPie.Location = new GeoPoint(48.8566, 2.3522);
            mapPie.HoleRadiusPercent = 50;
            mapPie.Size = 30;
            mapPie.RotationAngle = 90;

            mapPie.Segments.Add(new PieSegment { SegmentId = 2, Value = 20, Fill = Brushes.Red });
            mapPie.Segments.Add(new PieSegment { SegmentId = 0, Value = 30, Fill = Brushes.Green });
            mapPie.Segments.Add(new PieSegment { SegmentId = 1, Value = 50, Fill = Brushes.Yellow });

            mapItemStorage.Items.Add(mapPie);
        }
    }
}
vb
Imports System.Windows
Imports System.Windows.Media
Imports DevExpress.Xpf.Map

Namespace DXMapExample

    Public Partial Class MainWindow
        Inherits Window

        Private Sub Window_Loaded(ByVal sender As Object, ByVal e As RoutedEventArgs)

            Dim mapPie As MapPie = New MapPie()
            mapPie.Location = New GeoPoint(48.8566, 2.3522)
            mapPie.HoleRadiusPercent = 50
            mapPie.Size = 30
            mapPie.RotationAngle = 90
            mapPie.Segments.Add(New PieSegment With {
                .SegmentId = 2,
                .Value = 20,
                .Fill = Brushes.Red
            })
            mapPie.Segments.Add(New PieSegment With {
                .SegmentId = 0,
                .Value = 30,
                .Fill = Brushes.Green
            })
            mapPie.Segments.Add(New PieSegment With {
                .SegmentId = 1,
                .Value = 50,
                .Fill = Brushes.Yellow
            })
            Me.mapItemStorage.Items.Add(mapPie)
        End Sub
    End Class
End Namespace

See also the following example on how to generate map pies based on a data source: How to: Automatically Generate Pie Chart Items from a Datasource.

Implements

IColorizerElement

Inheritance

Object DispatcherObject DependencyObject Freezable MapDependencyObject MapItem MapShapeBase MapChartItemBase MapPie

See Also

MapPie Members

DevExpress.Xpf.Map Namespace