<esri:Legend.MapLayerTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<CheckBox Content="{Binding Label}"
IsChecked="{Binding IsEnabled, Mode=TwoWay}"
IsEnabled="{Binding IsInScaleRange}"
>
</CheckBox>
<Image Height="15" Width="15" Source="/PlacePlay1;component/Assets/Images/InfoTag.png" MouseLeftButtonDown="Image_MouseLeftButtonDown" Tag="{Binding Label}" />
<StackPanel>
<Button Content="Zoom" >
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<esri:ZoomToLayerAction LayerID="MyFeatureLayer" TargetName="MyMap" />
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
</StackPanel>
<Slider Maximum="1" Value="{Binding Layer.Opacity, Mode=TwoWay}" Width="50" />
<Image Source="{Binding ImageSource}" VerticalAlignment="Center" Height="20" Width="20" Margin="2,0"/>
</StackPanel>
</DataTemplate>
</esri:Legend.MapLayerTemplate><esri:ZoomToLayerAction LayerID="MyFeatureLayer" TargetName="MyMap" />
Private Sub ImageZoomToLayer_MouseLeftButtonDown(ByVal sender As System.Object, ByVal e As System.Windows.Input.MouseButtonEventArgs) Dim strLayer As String = sender.Tag Dim envLayer As ESRI.ArcGIS.Client.Geometry.Envelope = FindLayerExtent(strLayer) 'MessageBox.Show(envLayer.XMax.ToString) MyMap.ZoomTo(envLayer) End Sub Private Function FindLayerExtent(ByVal desiredLayer As String) Dim envLayer As ESRI.ArcGIS.Client.Geometry.Envelope = Nothing Dim myLayerCollection As ESRI.ArcGIS.Client.LayerCollection = MyMap.Layers Dim fl As FeatureLayer For Each l In myLayerCollection If TypeOf (l) Is FeatureLayer Then fl = l If (desiredLayer = fl.LayerInfo.Name) Then MessageBox.Show(desiredLayer) envLayer = fl.FullExtent FindLayerExtent = envLayer End If End If Next End Function
<esri:Map x:Name="MyMap"
Background="White"
WrapAround="True">
<esri:FeatureLayer ID="TrafficLayer"
Url="....">
</esri:Map>
<esri:Legend Map="{Binding ElementName=MyMap}"
Height="290"
Width="250"
LayerItemsMode="Tree"
ShowOnlyVisibleLayers="False"
Margin="0,10,10,0">
<esri:Legend.MapLayerTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<CheckBox Content="{Binding Label}"
IsChecked="{Binding IsEnabled, Mode=TwoWay}"
IsEnabled="{Binding IsInScaleRange}">
</CheckBox>
<Image Height="15"
Width="15"
Source="/PlacePlay1;component/Assets/Images/InfoTag.png"
MouseLeftButtonDown="Image_MouseLeftButtonDown"
Tag="{Binding Label}" />
<StackPanel>
<Button Content="Zoom">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<esri:ZoomToLayerAction LayerID="{Binding Layer.ID}"
TargetName="MyMap"
TargetObject="{Binding ElementName=MyMap}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
</StackPanel>
<Slider Maximum="1"
Value="{Binding Layer.Opacity, Mode=TwoWay}"
Width="50" />
<Image Source="{Binding ImageSource}"
VerticalAlignment="Center"
Height="20"
Width="20"
Margin="2,0" />
</StackPanel>
</DataTemplate>
</esri:Legend.MapLayerTemplate>
</esri:Legend