Back to Devexpress

WmsDataProvider.ResponseCapabilities Event

windowsforms-devexpress-dot-xtramap-dot-wmsdataprovider-2b66b1f7.md

latest4.3 KB
Original Source

WmsDataProvider.ResponseCapabilities Event

Occurs when a Web Map Service returns the supported capabilities.

Namespace : DevExpress.XtraMap

Assembly : DevExpress.XtraMap.v25.2.dll

NuGet Package : DevExpress.Win.Map

Declaration

csharp
public event CapabilitiesRespondedEventHandler ResponseCapabilities
vb
Public Event ResponseCapabilities As CapabilitiesRespondedEventHandler

Event Data

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

PropertyDescription
ExceptionGets a thrown exception.
LayersReturns a collection of available layers supported by a Web Map Service.

Example

This example demonstrates how to receive information from a Web Map Service using the WmsDataProvider.ResponseCapabilities event handler.

To do this, use the CapabilitiesRespondedEventArgs arguments of the event to specify a WMS active layer and obtain the required information.

csharp
using DevExpress.XtraMap;
using System.Windows.Forms;

namespace ResponseCapabilitiesHandler {
    public partial class Form1 : Form {
        ImageLayer WmsLayer {
            get { return (ImageLayer)mapControl.Layers["WmsImageLayer"]; }
        }
        WmsDataProvider Provider {
            get { return WmsLayer.DataProvider as WmsDataProvider; }
        }
        public Form1() {
            InitializeComponent();
        }
        private void Form1_Load(object sender, System.EventArgs e) {
            // Handle the ResponseCapabilities event.
            Provider.ResponseCapabilities += OnResponseCapabalities;
        }
        void OnResponseCapabalities(object sender, CapabilitiesRespondedEventArgs e) {
            // Specify an active layer for the map control.
            Provider.ActiveLayerName = e.Layers[0].Name;
            // Recieve information on the active layer.
            label1.Text = string.Format("Layer name: {0}, Layer title: {1}", e.Layers[0].Name, e.Layers[0].Title);           
        }
    }
}
vb
Imports DevExpress.XtraMap
Imports System.Windows.Forms

Namespace ResponseCapabilitiesHandler
    Partial Public Class Form1
        Inherits Form

        Private ReadOnly Property WmsLayer() As ImageLayer
            Get
                Return CType(mapControl.Layers("WmsImageLayer"), ImageLayer)
            End Get
        End Property
        Private ReadOnly Property Provider() As WmsDataProvider
            Get
                Return TryCast(WmsLayer.DataProvider, WmsDataProvider)
            End Get
        End Property
        Public Sub New()
            InitializeComponent()
        End Sub
        Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
            ' Handle the ResponseCapabilities event.
            AddHandler Provider.ResponseCapabilities, AddressOf OnResponseCapabalities
        End Sub
        Private Sub OnResponseCapabalities(ByVal sender As Object, ByVal e As CapabilitiesRespondedEventArgs)
            ' Specify an active layer for the map control.
            Provider.ActiveLayerName = e.Layers(0).Name
            ' Recieve information on the active layer.
            label1.Text = String.Format("Layer name: {0}, Layer title: {1}", e.Layers(0).Name, e.Layers(0).Title)
        End Sub
    End Class
End Namespace

See Also

WmsDataProvider Class

WmsDataProvider Members

DevExpress.XtraMap Namespace