This works for my feature layers ...
<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