This example demonstrates how to obtain a collection of layers supported by the Web Map Service.
To do this, use the WmsDataProvider.ResponseCapabilities event arguments to obtain the CapabilitiesResponsedEventArgs.Layers collection.
C#:MainWindow.xaml.cs |
using System.Windows;
using DevExpress.Xpf.Map;
namespace WpfWmsExample {
public partial class MainWindow : Window {
public MainWindow() {
InitializeComponent();
}
private void OnResponseCapabilities(object sender, CapabilitiesResponsedEventArgs e) {
listBox.ItemsSource = e.Layers;
}
}
}
|
VB:MainWindow.xaml.vb |
Imports System.Windows
Imports DevExpress.Xpf.Map
Namespace WpfWmsExample
Partial Public Class MainWindow
Inherits Window
Public Sub New()
InitializeComponent()
End Sub
Private Sub OnResponseCapabilities(ByVal sender As Object, ByVal e As CapabilitiesResponsedEventArgs)
listBox.ItemsSource = e.Layers
End Sub
End Class
End Namespace
|
Xaml:MainWindow.xaml |
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:dxm="http://schemas.devexpress.com/winfx/2008/xaml/map"
xmlns:Properties="clr-namespace:WpfWmsExample.Properties"
x:Class="WpfWmsExample.MainWindow"
Title="MainWindow" Height="360" Width="640">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="3*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<dxm:MapControl Grid.Column="0"
IsManipulationEnabled="False">
<dxm:ImageLayer>
<dxm:WmsDataProvider x:Name="Provider"
ServerUri="http://Your_Server_URI"
ActiveLayerName="{Binding ElementName=listBox, Path=SelectedItem.Name}"
ResponseCapabilities="OnResponseCapabilities"/>
</dxm:ImageLayer>
</dxm:MapControl>
<StackPanel Grid.Column="1">
<TextBlock Text="Available layers:"/>
<ListBox x:Name="listBox"
SelectedIndex="0"
Background="AliceBlue"
DisplayMemberPath="Name"
Height="311"/>
</StackPanel>
</Grid>
</Window>
|