ThinkGeo Cloud
ThinkGeo UI Controls
ThinkGeo Open Source
Help and Support
External Resources
ThinkGeo Cloud
ThinkGeo UI Controls
ThinkGeo Open Source
Help and Support
External Resources
using System; using System.Windows; namespace QuickFilters { /// <summary> /// Interaction logic for App.xaml /// </summary> public partial class App : Application { } }
using System; using System.Windows; using System.Windows.Controls; using ThinkGeo.MapSuite.Core; using ThinkGeo.MapSuite.WpfDesktopEdition; namespace QuickFilters { /// <summary> /// Interaction logic for MainWindow.xaml /// </summary> public partial class MainWindow : Window { private AreaStyle filterStyle; public MainWindow() { InitializeComponent(); } private void Window_Loaded(object sender, RoutedEventArgs e) { //move wpfmap to usa. wpfMap1.CurrentExtent = new RectangleShape(-130.5615234375, 63.193359375, -44.0771484375, 11.337890625); wpfMap1.Overlays.Add(new WorldMapKitWmsWpfOverlay()); LayerOverlay layerOverlay = new LayerOverlay(); wpfMap1.Overlays.Add(layerOverlay); //create a layer from shape file ShapeFileFeatureLayer usstatesShapeFileLayer = new ShapeFileFeatureLayer(@"..\..\App_Data\USStates.shp"); //create DbfLinkSource and add it to layer DbfLinkSource usstates = new DbfLinkSource(@"..\..\App_Data\USStates2.dbf", "usstates2", true); usstatesShapeFileLayer.FeatureSource.LinkSources.Add(usstates); usstatesShapeFileLayer.FeatureSource.LinkExpressions.Add(@"feature.STATE_NAME equals usstates2.STATE_NAME"); //add filter to style filterStyle = AreaStyles.CreateSimpleAreaStyle(GeoColor.FromArgb(150, GeoColor.SimpleColors.LightBlue), GeoColor.SimpleColors.White); filterStyle.Filters.Add(CreateFilterCondition()); //add style to layer usstatesShapeFileLayer.ZoomLevelSet.ZoomLevel01.DefaultAreaStyle = filterStyle; usstatesShapeFileLayer.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20; layerOverlay.Layers.Add(usstatesShapeFileLayer); } private void btnApply_Click(object sender, RoutedEventArgs e) { filterStyle.Filters.Clear(); filterStyle.Filters.Add(CreateFilterCondition()); wpfMap1.Refresh(); } private string CreateFilterCondition() { return string.Format("{0}{1}{2}", txtFilterColumnName.Text, ((ComboBoxItem)cmbFilterCondition.SelectedItem).Content.ToString(), ((ComboBoxItem)cmbFilterValue.SelectedItem).Content.ToString()); } } }