Skip to main content

InformationDataProviderBase.LayerItemsGenerating Event

Occurs when a data provider starts generating map items for a layer.

Namespace: DevExpress.Xpf.Map

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

NuGet Package: DevExpress.Wpf.Map

Declaration

public event LayerItemsGeneratingEventHandler LayerItemsGenerating

Event Data

The LayerItemsGenerating event's data class is LayerItemsGeneratingEventArgs. The following properties provide information specific to this event:

Property Description
Cancelled Gets a value indicating whether an asynchronous operation has been canceled. Inherited from AsyncCompletedEventArgs.
Error Gets a value indicating which error occurred during an asynchronous operation. Inherited from AsyncCompletedEventArgs.
Items Returns all the items generated for the layer.
UserState Gets the unique identifier for the asynchronous task. Inherited from AsyncCompletedEventArgs.

The event data class exposes the following methods:

Method Description
RaiseExceptionIfNecessary() Raises a user-supplied exception if an asynchronous operation failed. Inherited from AsyncCompletedEventArgs.

Example

This example demonstrates how to use the Microsoft Bing Route web service to calculate a route between multiple waypoints and how to customize the appearance of the resulting route path.

Calculated route

To accomplish this, do the following:

<dxm:InformationLayer EnableHighlighting="False">
    <dxm:InformationLayer.DataProvider>
        <dxm:BingRouteDataProvider x:Name="routeProvider" 
                                   BingKey="{Binding Source={StaticResource YourBingKey}}"
                                   LayerItemsGenerating="routeProvider_LayerItemsGenerating"/>
    </dxm:InformationLayer.DataProvider>
</dxm:InformationLayer>
public partial class MainWindow : Window {

    public MainWindow() {
        InitializeComponent();

        // Create three waypoints and add them to a route waypoints list. 
        List<RouteWaypoint> waypoints = new List<RouteWaypoint>();
        waypoints.Add(new RouteWaypoint("New York", new GeoPoint(41.145556, -73.995)));
        waypoints.Add(new RouteWaypoint("Oklahoma", new GeoPoint(36.131389, -95.937222)));
        waypoints.Add(new RouteWaypoint("Las Vegas", new GeoPoint(36.175, -115.136389)));

        routeProvider.CalculateRoute(waypoints);
    }

    private void routeProvider_LayerItemsGenerating(object sender, LayerItemsGeneratingEventArgs args) {
        char letter = 'A';
        foreach (MapItem item in args.Items) {
            MapPushpin pushpin = item as MapPushpin;
            if (pushpin != null)
                pushpin.Text = letter++.ToString();
            MapPolyline line = item as MapPolyline;
            if (line != null) {
                line.Fill = Brushes.Red;
                line.Stroke = Brushes.Red;
            }
        }

        map.ZoomToFit(args.Items);
    }
}

The following code snippets (auto-collected from DevExpress Examples) contain references to the LayerItemsGenerating event.

Note

The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.

See Also