// Here we load all the nodes on the left from xml file. private void InitializetionDataCategories() { var xDoc = XDocument.Load(MapSuiteSampleHelper.GetValueFromConfiguration("CategoryFilePath")); var elements = from category in xDoc.Element("DemographicMap").Elements("Category") select category; foreach (var element in elements) { DataCategoryViewModel category = null; string title = element.Attribute("name").Value; category = title != "Custom Data" ? new DataCategoryViewModel() : new CustomDataCategoryViewModel(); category.Title = title; category.CategoryImage = new BitmapImage(new Uri(string.Format(CultureInfo.InvariantCulture, "{0}{1}", "pack://application:,,,/MapSuiteUSDemographicMap;component/", element.Attribute("icon").Value), UriKind.RelativeOrAbsolute)); foreach (var item in element.Elements("item")) { ColumnViewModel categoryItem = new ColumnViewModel(); categoryItem.Parent = category; categoryItem.ColumnName = item.Element("columnName").Value; categoryItem.Alias = item.Element("alias").Value; categoryItem.LegendTitle = item.Element("legendTitle").Value; category.Columns.Add(categoryItem); } category.CanUsePieView = category.Columns.Count >= 2; CategoryList.Add(category); } }
private void ValueCirclesClick(object sender, RoutedEventArgs e) { CollapseControls(); mainWindowViewModel.ValueCircleVisibility = Visibility.Visible; ColumnViewModel columnViewModel = sender.GetDataContext <ColumnViewModel>(); if (columnViewModel != null && !(columnViewModel.Parent is CustomDataCategoryViewModel)) { mapModel.DefaultFeatureLayer = mapModel.CensusStateFeatureLayer; } else { mapModel.DefaultFeatureLayer = mapModel.CustomDataFeatureLayer; } RenderDemographicStyle(sender, mainWindowViewModel.ValueCircleDemographicStyle); }
private void ThematicColorsClick(object sender, RoutedEventArgs e) { CollapseControls(); mainWindowViewModel.ThematicVisibility = Visibility.Visible; mainWindowViewModel.DisplayColorText = "Display Start Color:"; ColumnViewModel columnViewModel = sender.GetDataContext <ColumnViewModel>(); if (columnViewModel != null && !(columnViewModel.Parent is CustomDataCategoryViewModel)) { mapModel.DefaultFeatureLayer = mapModel.CensusStateFeatureLayer; } else { mapModel.DefaultFeatureLayer = mapModel.CustomDataFeatureLayer; } RenderDemographicStyle(sender, mainWindowViewModel.ThematicDemographicStyle); }
private void RenderDemographicStyle(object sender, DemographicStyleBuilder demographicStyleBuilder) { FrameworkElement frameworkElement = (FrameworkElement)sender; ColumnViewModel columnViewModel = (ColumnViewModel)frameworkElement.DataContext; columnViewModel.IsSelected = true; foreach (var item in mainWindowViewModel.SelectedCategory.Columns) { item.CheckBoxVisiblity = Visibility.Hidden; } mainWindowViewModel.UpdateUIControls(demographicStyleBuilder); mainWindowViewModel.CurrentStyleBuilder.SelectedColumns.Clear(); mainWindowViewModel.CurrentStyleBuilder.SelectedColumns.Add(columnViewModel.ColumnName); mapModel.LegendTitle = columnViewModel.LegendTitle; mainWindowViewModel.UpdateMap(); }
// Here we load all the nodes on the left from xml file. private void InitializetionDataCategories() { var xDoc = XDocument.Load(MapSuiteSampleHelper.GetValueFromConfiguration("CategoryFilePath")); var elements = from category in xDoc.Element("DemographicMap").Elements("Category") select category; foreach (var element in elements) { DataCategoryViewModel category = null; string title = element.Attribute("name").Value; category = title != "Custom Data" ? new DataCategoryViewModel() : new CustomDataCategoryViewModel(); category.Title = title; category.CategoryImage = new BitmapImage(new Uri(string.Format(CultureInfo.InvariantCulture, "{0}{1}", "pack://application:,,,/MapSuiteUSDemographicMap;component/", element.Attribute("icon").Value), UriKind.RelativeOrAbsolute)); foreach (var item in element.Elements("item")) { ColumnViewModel categoryItem = new ColumnViewModel(); categoryItem.Parent = category; categoryItem.ColumnName = item.Element("columnName").Value; categoryItem.Alias = item.Element("alias").Value; categoryItem.LegendTitle = item.Element("legendTitle").Value; category.Columns.Add(categoryItem); } category.CanUsePieView = category.Columns.Count >= 2; CategoryList.Add(category); } }