Hi, I have 2 questions...1. I have a legend which declared with checkboxes for layers visibility (see XAML).and i have a function which zoom to maximumScale of a given FeatureLayer. (see code below)When i call the function it zoom to the maximum featureLayer scale and i see on map its graphics (it is still visible and did not disappeared), but the legend checkbox is not enabled (guessing the IsInScaleRange property returns false)what am i missing (if i see it on map it should also be enabled on legend - right)?2. Is it possible to register an event or some other way of handling when a checkbox is checked on a layerItemin order to reverse the check action on a specific layerItem?XAML:[HTML]<esri:Legend Map="{Binding ElementName=_map}" Name="_Legend" LayerItemsMode="Tree" ShowOnlyVisibleLayers="False" Refreshed="Legend_Refreshed"> <esri:Legend.LayerTemplate> <DataTemplate> <CheckBox Content="{Binding Label}" IsChecked="{Binding IsEnabled, Mode=TwoWay}" IsEnabled="{Binding IsInScaleRange}" > </CheckBox> </DataTemplate> </esri:Legend.LayerTemplate> </esri:Legend>[/HTML]Code: internal void ZoomTo(FeatureLayer layer)
{
if (layer != null)
{
double resolution = _map.MinimumResolution;
if (layer.LayerInfo.MaximumScale != 0)
{
double scaleTo = Math.Round(layer.LayerInfo.MaximumScale * _map.ZoomFactor);
double calcResolution = (_map.Resolution / _map.Scale) * scaleTo;
MapPoint myMapPoint = _map.Extent.GetCenter();
double xMin = myMapPoint.X - (_map.ActualWidth * calcResolution * (1 / _map.ZoomFactor));
double yMin = myMapPoint.Y - (_map.ActualHeight * calcResolution * (1 / _map.ZoomFactor));
double xMax = myMapPoint.X + (_map.ActualWidth * calcResolution * (1 / _map.ZoomFactor));
double yMax = myMapPoint.Y + (_map.ActualHeight * calcResolution * (1 / _map.ZoomFactor));
ESRI.ArcGIS.Client.Geometry.Envelope myEnvelope = new ESRI.ArcGIS.Client.Geometry.Envelope(xMin, yMin, xMax, yMax);
_map.ZoomTo(myEnvelope);
}
else
{
_map.ZoomToResolution(resolution, _map.Extent.GetCenter());
}
}
}