internal void UpdateLayerViewState(LayerViewState state)
 {
     UpdateLoadingStatus();
     UpdateIsInScaleRange(state != null && state.Status != LayerViewStatus.OutOfScale);
     UpdateIsActive(state != null && state.Status == LayerViewStatus.Active);
     if (state != null && state.Status == LayerViewStatus.Error && LayerContent is ILoadable)
     {
         var l = LayerContent as Esri.ArcGISRuntime.ILoadable;
         if (l.LoadError != null)
         {
             _reloadCommand?.RaiseCanExecuteChanged();
         }
     }
 }
        private void OnLayerViewStateChanged(object sender, LayerViewState e)
        {
            // State changed event is sent by a layer. In the list, find the layer which sends this event. If it exists then update the status
            Layer myLayer = sender as Layer;

            var model = _layerStatusModels.Where(l => l.LayerName == myLayer.Name).FirstOrDefault();

            if (model != null)
            {
                model.LayerViewStatus = e.Status.ToString();
            }

            // Update the table
            _tableView.ReloadData();
        }
 internal void UpdateLayerViewState(LayerViewState state)
 {
     UpdateLoadingStatus();
     UpdateIsInScaleRange(state != null && state.Status != LayerViewStatus.OutOfScale);
     UpdateIsActive(state != null && state.Status == LayerViewStatus.Active);
 }