public void RefreshFeatureEntities(Dictionary <FeatureLayer, Collection <Feature> > selectedFeatureEntities)
        {
            FeatureEntities.Clear();
            SelectedEntity = null;

            Application.Current.Dispatcher.BeginInvoke(() =>
            {
                FeatureEntities.Clear();
                foreach (var item in selectedFeatureEntities)
                {
                    FeatureLayerViewModel entity = new FeatureLayerViewModel {
                        LayerName = item.Key.Name
                    };
                    foreach (var tmpFeature in item.Value)
                    {
                        entity.FoundFeatures.Add(new FeatureViewModel(tmpFeature, item.Key));
                    }
                    FeatureEntities.Add(entity);
                }

                if (FeatureEntities.Count > 0 && FeatureEntities[0].FoundFeatures.Count > 0)
                {
                    selectedEntity = FeatureEntities[0].FoundFeatures[0];
                    RaisePropertyChanged(() => SelectedDataView);
                }
            }, System.Windows.Threading.DispatcherPriority.ApplicationIdle);
        }
Example #2
0
 private void Clear()
 {
     FeatureEntities.Clear();
     SelectedEntity = null;
 }