private void FourColorMapCheckBoxClick(object sender, RoutedEventArgs e) { var checkBox = (CheckBox)sender; if (checkBox.IsChecked == true) { if (fourColorLayer.InternalFeatures.Count == 0) { progressPanel.Visibility = Visibility.Visible; Task.Factory.StartNew(() => { var features = shapeFileLayer.FeatureSource.GetAllFeatures(ReturningColumnsType.AllColumns); var fourColorFeatures = MapUtil.BuildFourColorColumn("Color", features); foreach (Feature feature in fourColorFeatures) { fourColorLayer.InternalFeatures.Add(feature); } Dispatcher.Invoke(() => { progressPanel.Visibility = Visibility.Hidden; mapView.Refresh(); }); }); } shapeFileLayer.IsVisible = false; fourColorLayer.IsVisible = true; } else { shapeFileLayer.IsVisible = true; fourColorLayer.IsVisible = false; } mapView.Refresh(); }