FeatureLayer.LayerInfo.Renderer is the service-defined renderer. I used this sample: http://help.arcgis.com/en/webapi/silverlight/samples/start.htm#FeatureLayerMapTipsAdded an AttributeToSymbolConverter class with DependencyProperty to get to the FeatureLayer.LayerInfo.Renderer
public class AttributeToSymbolConverter : FrameworkElement, IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
var dict = value as IDictionary<string, object>;
if (dict != null && FeatureLayer != null && FeatureLayer.LayerInfo != null && FeatureLayer.LayerInfo.Renderer != null)
{
var graphic = new Graphic();
foreach (var d in dict)
graphic.Attributes[d.Key] = d.Value;
return FeatureLayer.LayerInfo.Renderer.GetSymbol(graphic);
}
return null;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
public static readonly DependencyProperty FeatureLayerProperty = DependencyProperty.Register("FeatureLayer", typeof(FeatureLayer),
typeof(AttributeToSymbolConverter), null);
public FeatureLayer FeatureLayer
{
get { return (FeatureLayer)GetValue(FeatureLayerProperty); }
set { SetValue(FeatureLayerProperty, value); }
}
}
<!--Grid.Resources-->
<local:AttributeToSymbolConverter x:Key="MyConverter" FeatureLayer="{Binding ElementName=MyMap, Path=Layers[CitiesFeatureLayer]}"/>
<!--FeatureLayer.MapTip.StackPanel-->
<esriPrimitives:SymbolDisplay Symbol="{Binding Converter={StaticResource MyConverter}}" />