Dynamic Layers in XAML Online

This sample demonstrates using XAML to specify the LayerDefinitions, LayerDrawingOptions, and DynamicLayerInfos of an ArcGISDynamicMapServiceLayer. The LayerDefinition sets the USCities layer to only show capitals. The LayerDrawingOptions set Layers 0 and 4 to use a SimpleRenderer and Layer 2 to use a ClassBreaksRenderer. The DynamicLayerInfos property is used to add these layers on the fly by setting the Source property to LayerMapSources and a TableDataSource. These properties are applied as the map loads.

Download Sample Application
XAML C# VB.NET
<UserControl x:Class="ArcGISWPFSDK.DynamicLayersInXAML"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:esri="http://schemas.esri.com/arcgis/client/2009">
    <Grid x:Name="LayoutRoot" Background="#FFE3E3E3">
        <esri:Map x:Name="MyMap">
            <esri:Map.Extent>
                <esri:Envelope XMin="-3170138" YMin="-1823795" XMax="2850785" YMax="1766663">
                    <esri:Envelope.SpatialReference>
                        <esri:SpatialReference WKID="102009"/>
                    </esri:Envelope.SpatialReference>
                </esri:Envelope>
            </esri:Map.Extent>
            <esri:ArcGISDynamicMapServiceLayer ID="USA"				
				Url="http://sampleserver6.arcgisonline.com/arcgis/rest/services/USA/MapServer" 
                VisibleLayers="0,2,4">
                <esri:ArcGISDynamicMapServiceLayer.LayerDefinitions>
                    <esri:LayerDefinition LayerID="0" Definition="CAPITAL = 'Y'" />
                </esri:ArcGISDynamicMapServiceLayer.LayerDefinitions>
                <esri:ArcGISDynamicMapServiceLayer.LayerDrawingOptions>
                    <esri:LayerDrawingOptionsCollection>
                        <esri:LayerDrawingOptions LayerID="0" ShowLabels="True">
                            <esri:LayerDrawingOptions.Renderer>
                                <esri:SimpleRenderer>
                                    <esri:SimpleMarkerSymbol Color="Red" Size="10" Style="Diamond" />
                                </esri:SimpleRenderer>
                            </esri:LayerDrawingOptions.Renderer>
                        </esri:LayerDrawingOptions>
                        <esri:LayerDrawingOptions LayerID="2">
                            <esri:LayerDrawingOptions.Renderer>
                                <esri:ClassBreaksRenderer Field="POP2000">
                                    <esri:ClassBreakInfo MaximumValue="1000000" MinimumValue="0">
                                        <esri:SimpleFillSymbol 
											BorderThickness="1" 
											Fill="#74E01B" 
											BorderBrush="Transparent" />
                                    </esri:ClassBreakInfo>
                                    <esri:ClassBreakInfo MaximumValue="2000000">
                                        <esri:SimpleFillSymbol 
											BorderThickness="1" 
											Fill="#1BE025" 
											BorderBrush="Transparent" />
                                    </esri:ClassBreakInfo>
                                    <esri:ClassBreakInfo MaximumValue="5000000">
                                        <esri:SimpleFillSymbol 
											BorderThickness="1" 
											Fill="#1BE087" 
											BorderBrush="Transparent" />
                                    </esri:ClassBreakInfo>
                                    <esri:ClassBreakInfo MaximumValue="10000000">
                                        <esri:SimpleFillSymbol 
											BorderThickness="1" 
											Fill="#D6E01B" 
											BorderBrush="Transparent" />
                                    </esri:ClassBreakInfo>
                                    <esri:ClassBreakInfo MaximumValue="40000000">
                                        <esri:SimpleFillSymbol 
											BorderThickness="1" 
											Fill="#E0871B" 
											BorderBrush="Transparent" />
                                    </esri:ClassBreakInfo>
                                </esri:ClassBreaksRenderer>
                            </esri:LayerDrawingOptions.Renderer>
                        </esri:LayerDrawingOptions>
                        <esri:LayerDrawingOptions LayerID="4">
                            <esri:LayerDrawingOptions.Renderer>
                                <esri:SimpleRenderer>
                                    <esri:SimpleFillSymbol Fill="Blue" BorderBrush="Black" />
                                </esri:SimpleRenderer>
                            </esri:LayerDrawingOptions.Renderer>
                        </esri:LayerDrawingOptions>
                    </esri:LayerDrawingOptionsCollection>
                </esri:ArcGISDynamicMapServiceLayer.LayerDrawingOptions>
                <esri:ArcGISDynamicMapServiceLayer.DynamicLayerInfos>
                    <esri:DynamicLayerInfoCollection>
                        <esri:DynamicLayerInfo ID="0">
                            <esri:DynamicLayerInfo.Source>
                                <esri:LayerMapSource MapLayerID="0" />
                            </esri:DynamicLayerInfo.Source>
                        </esri:DynamicLayerInfo>
                        <esri:DynamicLayerInfo ID="4">
                            <esri:DynamicLayerInfo.Source>
                                <esri:LayerDataSource>
                                    <esri:LayerDataSource.DataSource>
                                        <esri:TableDataSource 
                                            WorkspaceID="MyDatabaseWorkspaceIDSSR2" 
                                            DataSourceName="ss6.gdb.Lakes" />
                                    </esri:LayerDataSource.DataSource>
                                </esri:LayerDataSource>
                            </esri:DynamicLayerInfo.Source>
                        </esri:DynamicLayerInfo>
                        <esri:DynamicLayerInfo ID="2">
                            <esri:DynamicLayerInfo.Source>
                                <esri:LayerMapSource MapLayerID="2" />
                            </esri:DynamicLayerInfo.Source>
                        </esri:DynamicLayerInfo>
                    </esri:DynamicLayerInfoCollection>
                </esri:ArcGISDynamicMapServiceLayer.DynamicLayerInfos>
            </esri:ArcGISDynamicMapServiceLayer>
        </esri:Map>
    </Grid>
</UserControl>
Sample code usage restrictions
5/16/2014